Seo

Очистите постоянные ссылки WordPress для лучшего SEO

WordPress довольно умен в разрешении URL-адресов, даже если вы добавляете любое количество дополнительных параметров к постоянным ссылкам.
В качестве примера: если сайт WordPress расположен по адресу example.com, все следующие URL-адреса будут работать нормально, поскольку различные параметры, найденные в строке запроса (например, параметр utm_source, добавленный Google Analytics), будут просто игнорироваться WordPress.
1\. http://example.com/?partner=nyt
2. http://example.com/?src=dlvr.it
3. http://example.com/?utm_source=feedburner&utm_medium=feed

Эти параметры часто добавляются к URL-адресам WordPress по внешним сервисам, которые не в вашем управлении — например, сокращения URL или услуги, которые подают блог на социальные сайты.

Зачем очистить URL-адреса WordPress?

Почему вы даже должны учитывать уборку URL-адреса WordPress, когда эти параметры не вреда? Ну, вот несколько причин:
№1. Технически URL example.com/?src=blog не совпадает с example.com/?src=feed , который не то же самое, что example.com — настоящая каноническая версия. Таким образом, если кто-то добавит в закладки или поделится этими URL-адресами на социальных сайтах, вам будет действительно сложно консолидировать показатели социальных сетей.
№2. Вторая причина — Google. Если вы откроете раздел «Предложения HTML» на панели инструментов Google Webmaster Tools, вы можете встретить страницы, на которых будет обнаружено дублирование тегов заголовков (и, следовательно, дублирование контента). Базовые URL-адреса одинаковы, но поскольку они имеют разные параметры, Google может иногда путать их как отдельные страницы. Вы определенно хотите избежать этой ситуации.

Как удалить лишние параметры из URL-адресов WordPress

Вы не можете запретить другим службам добавлять новые параметры к вашим URL-адресам, но вы всегда можете перенаправить эти URL-адреса на «чистые» версии, чтобы в Интернете существовала только одна версия ваших URL-адресов.
Это можно сделать двумя способами:
1 . Версия JavaScript: Откройте файл header.php вашего шаблона WordPress и скопируйте и вставьте следующий код где-нибудь внутри тега
if(!is_search()) { ?>
<script type="text/javascript">
var url = window.location.href;
if ( url.split('?').length >= 2 ) {
window.location = url.split("?")[0];
}
script>
} ?>

Код проверяет входящий URL-запрос на наличие любых параметров и, если он найден, просто удаляет все параметры из URL-адреса и перезагружает страницу WordPress с чистым URL-адресом.
Вышеупомянутый подход использует JavaScript и поэтому будет в основном невидимым для Google. Это также не решит ни одну из ранее упомянутых проблем, поэтому давайте попробуем что-нибудь еще.
2 . Версия.htaccess: откройте файл.htaccess своего домена и скопируйте и вставьте следующий код над добавленными правилами mod_rewrite. на WordPress. Вам не нужно изменять какой-либо код в шаблонах PHP.

RewriteEngine On
RewriteCond %{QUERY_STRING}.
RewriteCond %{QUERY_STRING}!^(s|p)=.*
RewriteCond %{REQUEST_URI}!.\*wp-admin.*
RewriteRule ^(.*)$ /$1? [R=301, L]

Если вы никогда раньше не использовали mod_rewrite, приведенное выше может показаться немного запутанным, но на самом деле это довольно просто.
Сначала он игнорирует URL-адреса с параметрами «s» или «p», поскольку мы не хотим удалять ни один из идентификаторов сообщений, например labnol.org/?p=19028 или параметры поиска, например labnol.org/?s=pdf из URL-адресов WordPress. Он также игнорирует запросы, поступающие от панели управления WordPress (wp-admin). Наконец, мы делаем 301 редирект, тем самым передавая весь Google Juice на чистый и канонический URL.
Здесь нужно отметить одну важную вещь. Очевидно, что любые функции, зависящие от параметров URL, не будут работать, если вы удалите эти параметры. Это не должно быть проблемой для большинства сайтов WordPress, но помните об этом, прежде чем вносить изменения.