Автор: команда Magic Trust Group
На сегодняшний день все понимают необходимость создания читабельных, интуитивно понятных и логических URLов страниц сайта. В то же самое время не все могут до конца понимать причины и способы реализации данной задачи.
В первую очередь, создание человеко-понятного URLа страницы сайта положительно влияет на ее индексацию и ранжирование поисковыми системами. Так же ЧПУ адрес ссылки помогает понять пользователю о чем страница, уровень ее вложенности. А при указании четкой структуры, может служить навигацией по сайту.
Адрес страницы можно прописывать как кириллицей, так и латиницей. Мы рекомендуем транслитерировать его латиницей, так как кириллица при копировании, либо проверке, часто становится нечитабельной.
На большинстве сайтов реализованы функции фильтров. Как правило, реализованы они через GET параметры. Этот факт усложняет продвижение таких страниц в поисковых системах. Для исправления ситуации, рекомендуем на указанные страницы внедрять ЧПУ, но при этом важно учитывать особенности каждой CMS.
Мы используем универсальный метод, который работает практически для всех CMS.
Пошагово выполняя этапы, описанные ниже, необходимость участия программиста в задаче отпадет. Основываясь на наших инструкциях, оптимизатор сможет выполнить задачу самостоятельно.
Итак, все что необходимо - установка модуля генерации ЧПУ на сайт (скачать модуль ЧПУ). Данный модуль функционирует в рамках установки Seo Shield Client (модуль для продвижения сайтов с помощью сервиса Seo Shield).
Рассмотрим пример генерации ЧПУ для CMS Bitrix версии 15.0.6.
Необходимо найти главный файл системы, то есть файл, с которого начинается работа системы. Как правило, это index.php.
В данном случае, этот файл urlrewtire.php.
Узнать файл, который является главным можно через .htaccess (лежит в корне сайта). Наш файл .htaccess выглядит следующим образом:
Options -Indexes
ErrorDocument 404 /404.php
Options +FollowSymLinks
RewriteEngine On
# редирект с www на без www
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
DirectoryIndex index.php index.html
Строка RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L] - указывает на то, что все запросы, прошедшие ряд проверок, необходимо перенаправлять на - urlrewrite.php, который находится в директории /bitrix/
Загрузить папку seoshield-seo-url в корень сайта
Подключить модуль в главный файл системы.
Прежде чем произойдет запуск системы, необходимо инициализировать модуль. Для этого достаточно добавить указанный код:
if(file_exists($_SERVER["DOCUMENT_ROOT"].'/seoshield-seo-url/main.php'))
{
require_once($_SERVER["DOCUMENT_ROOT"].'/seoshield-seo-url/main.php'); if(function_exists('seo_url_start'))
seo_url_start();
}
Заполнить массив URLов в файле seo_urls.cache.php, который находится в seoshield-seo-url/data/. следующим образом:
"Не_ЧПУ" => "ЧПУ"
В качестве ключа "Не_ЧПУ" необходимо вставлять URL без указания доменного имени.
К примеру, если в браузере у вас:
http://brandremen.ru/catalog/vse_remni/?set_filter=y&arrFilter_40_4217994138=Y
То вам нужна та часть, которая указана после доменного имени. В данном случае это /catalog/vse_remni/?set_filter=y&arrFilter_40_4217994138=Y
Как видим, присутствуют GET параметры set_filter и arrFilter.
Для того чтобы убрать данные параметры, необходимо в файл seo_urls.cache.php добавить пару:
"Ключ" => "Значение", где
"Ключ" - это /catalog/vse_remni/?set_filter=y&arrFilter_40_4217994138=Y,
"Значение" - новый URL, для примера - /catalog/vse_remni/kozha_krokodila/" або «/kozha_krokodila/
То есть, в конечном результате мы получаем:
/catalog/vse_remni/?set_filter=y&arrFilter_40_4217994138=Y =>
/catalog/vse_remni/kozha_krokodila/
либо
/catalog/vse_remni/?set_filter=y&arrFilter_40_4217994138=Y" => /kozha_krokodila/
Запомните правила заполнения:
Выполнив все указанные шаги, URL http://brandremen.ru/catalog/vse_remni/?set_filter=y&arrFilter_40_4217994138=Y перенаправит на http://brandremen.ru/catalog/vse_remni/kozha_krokodila/
А при переходе на http://brandremen.ru/catalog/vse_remni/kozha_krokodila/ система отобразит нужный контент.
Перед запуском самой системы запускается модуль seo_url_start, который проверяет текущий URL на наличие для него ЧПУ. И редиректит его в случае, если ЧПУ существует.
if(array_key_exists($_SERVER['REQUEST_URI'], $data))
{
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $data[$_SERVER['REQUEST_URI']]);
exit;
}
Если текущий URL ЧПУ, то модуль делает подмену переменных для системы.
$_SERVER['REQUEST_URI'] и $_GET , после чего CMS понимает, какую конкретно html страницу необходимо отдать браузеру, роботу и т.д
if(($key = array_search($_SERVER['REQUEST_URI'], $data)) !== false)
{
$GLOBALS['SEOSHIELD_CONFIG']['page_uri_seo'] = $_SERVER['REQUEST_URI'];
$uri = $key;
$_SERVER['REQUEST_URI'] = $uri;
if(strpos($uri, '?') !== false)
{
list(, $query) = explode('?', $uri);
parse_str($query, $_GET);
}
}
if(strpos($uri, '?') !== false)
{
list(, $query) = explode('?', $uri);
parse_str($query, $_GET);
}
}
Помните о том, что выполнив данную задачу, вы улучшите результаты ранжирования страниц и поможете пользователям лучше ориентироваться на сайте.
Скачать модуль генерации ЧПУ
Комментарии