Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sashagm/seo
SEO Builder Laravel +10.x
https://github.com/sashagm/seo
laravel laravel-package meta metadata php phpunit seo seo-meta seo-optimization
Last synced: 3 months ago
JSON representation
SEO Builder Laravel +10.x
- Host: GitHub
- URL: https://github.com/sashagm/seo
- Owner: sashagm
- License: mit
- Created: 2023-05-12T19:26:19.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-09-11T18:07:46.000Z (4 months ago)
- Last Synced: 2024-09-29T20:04:40.686Z (3 months ago)
- Topics: laravel, laravel-package, meta, metadata, php, phpunit, seo, seo-meta, seo-optimization
- Language: PHP
- Homepage:
- Size: 24.4 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[![PHP Version](https://img.shields.io/badge/PHP-%2B8-blue)](https://www.php.net/)
[![Laravel Version](https://img.shields.io/badge/Laravel-%2B10-red)](https://laravel.com/)## SEO Builder
Добро пожаловать в документацию по использованию нашего сервиса для мета тегов!
Наш сервис предназначен для упрощения процесса создания и управления мета тегами на вашем сайте. Мета теги являются важной частью оптимизации сайта для поисковых систем и могут помочь улучшить позиции вашего сайта в результатах поиска.
Мы надеемся, что наш сервис поможет вам улучшить позиции вашего сайта в поисковых системах и упростит процесс управления мета тегами. Если у вас есть какие-либо вопросы или предложения, пожалуйста, свяжитесь с нашей службой поддержки.
### Оглавление:
- [Требования](#требования)
- [Установка](#установка)
- [Использование](#использование)
- [Стартовое использование](#стартовое-использование)
- [Кастомное описание](#кастомное-описание)
- [Кастомное og описание](#кастомное-og-описание)
- [Кастомное описание и og описание](#кастомное-описание-и-og-описание)
- [Получение данных](#получение-данных)
- [Дополнительные возможности](#дополнительные-возможности)
- [Тестирование](#тестирование)
- [Лицензия](#лицензия)#### Требования
Основные требования для установки и корректной работы:
- `PHP` >= 8.0
- `Laravel` >= 10.x || >= 11.x
- `Composer` >= 2.4.x#### Установка
- composer require sashagm/seo
- php artisan seo:install#### Использование
Для начала давайте определим наши вспомогательные мета данные в `.env`:
```php
APP_NAME="Laravel"
APP_OG_TYPE="website"
APP_OG_LOCALE="ru_RU"
APP_OG_IMAGE="/storage/images.jpg"
APP_KEYWORDS=""
APP_DESC=""
APP_ROBOTS=""
APP_OG_TITLE=""
APP_OG_DESC=""
```Чтобы добавить мета теги на страницу, вам необходимо вставить соответствующий код в секцию вашего HTML-кода в файле `layouts/app.blade.php` укажите директиву `@yield('meta')`:
```php
@yield('title')
@yield('meta')
@yield('content')
```
##### Стартовое использование
Чтобы добавить мета теги на конкретную страницу, вам необходимо указать соответствующие значения в секциях @section('meta') в файле `resources/views/pages/example.blade.php`:
```php
@section('meta') @meta('key') @endsection
```Здесь мы выводим значения ключей `keywords`, `description`, `robots`, `og_title`, `og_description` из модели, а если передано дополнительное описание, то выводим его вместо описания из модели. Если дополнительное описание не передано, то выводим только описание из модели.
Теперь мы можем определять метатеги для каждой страницы отдельно и передавать их в наш layouts через директиву @yield('meta'). Это позволит нам более гибко управлять метатегами и улучшить SEO-оптимизацию нашего сайта.
Давайте разберемся с методом `getPageMeta('key')` в него мы передаем ключ нашей категории. Поиск будет из модели по первому аргументу.```php
@meta('key')
```##### Кастомное описание
Если необходимо кастомное описание то достаточно передать вторым агрументом нашу строку она отобразится вместо нашего key->description.
```php
@meta('key','custom description')
```##### Кастомное og описание
Если необходимо кастомное og описание то достаточно передать вторым аргументом пустую строку и третьим агрументом нашу строку она отобразится вместо нашего key->og_description.
```php
@meta('key','','custom og description')
```##### Кастомное описание и og описание
Если необходимо кастомное описание и og описание то достаточно передать вторым аргументом строку для описания и третьим агрументом строку для og описание они отобразятся вместо наших key->og_description и key->og_description.
```php
@meta('key','custom description','custom og description')
```#### Получение данных
Примеры вызовов функций модели Meta:
1. Получение значения атрибута `robots` с использованием доступа через свойство:
```php
$meta = Meta::find(1);
$robots = $meta->robots;
```2. Получение значения атрибута `og_title` с использованием доступа через свойство:
```php
$meta = Meta::find(1);
$ogTitle = $meta->og_title;
```3. Получение значения атрибута `og_description` с использованием доступа через свойство:
```php
$meta = Meta::find(1);
$ogDescription = $meta->og_description;
```4. Получение значения атрибута `description` с использованием доступа через свойство:
```php
$meta = Meta::find(1);
$description = $meta->description;
```5. Получение значения атрибута `keywords` с использованием доступа через свойство:
```php
$meta = Meta::find(1);
$keywords = $meta->keywords;
```Во всех примерах мы используем метод find() для получения экземпляра модели Meta с определенным идентификатором (в данном случае 1). Затем мы обращаемся к нужному атрибуту, например, $meta->robots, чтобы получить его значение. Если значение атрибута не задано (NULL), то возвращается значение по умолчанию, указанное в соответствующей функции-аксессоре.
#### Дополнительные возможности
Наш пакет предоставляет ряд дополнительных возможностей, которые могут быть полезны при работе с сео:
- `php artisan seo:install` - Данная команда установит все необходимые файлы.
#### Тестирование
Для проверки работоспособности можно выполнить специальную команду:
- ./vendor/bin/phpunit --configuration phpunit.xml
#### Лицензия
SEO Builder - это программное обеспечение с открытым исходным кодом, лицензированное по [MIT license](LICENSE.md).