Для веб-сайта я хочу использовать перезапись URL, чтобы обеспечить легкий доступ к страницам и лучшую индексацию.
Например, предположим, что страница о Моцарте:
www.site.ext/composers/index.php?cmd=composers&id=123
Вместо этого хотелось бы, чтобы посетители входили: www.site.ext/Mozart
и перейти на ту же страницу.
Я также хочу, чтобы роботы из поисковые системы индексируют "дружественный" адрес и не знать "недружелюбный" реальный адрес.
Обе .htaccess
файлы ниже работают и предоставляют доступ к тому же контенту.
В браузере первый сохраняет дружественный URL-адрес в адресной строке (т.е. www.site.ext/Mozart
),
#Options +FollowSymlinks
RewriteEngine On
RewriteBase /
#AllowOverride all
RewriteCond %{HTTP_HOST} .
RewriteRule ^Mozart$ composers/index.php?cmd=composers&id=123 [L]
в то время как второй, с дополнительным R=301
опция, делает постоянное перенаправление на "недружественный" адрес:
#Options +FollowSymlinks
RewriteEngine On
RewriteBase /
#AllowOverride all
RewriteCond %{HTTP_HOST} .
RewriteRule ^Mozart$ composers/index.php?cmd=composers&id=123 [R=301,L]
Поскольку названия категорий никогда не изменятся со временем, я предполагаю, что первый случай - перезапись URL-адреса только без заметного перенаправления - лучше в этой ситуации, поскольку поисковые системы будут хранить и отображать дружественный URL-адрес вместо недружественного. Так ли это на самом деле?
Что касается внутренних ссылок на сайте (то есть якорей на страницах), я предполагаю, что мне следует использовать PHP (или эквивалент) для динамической записи их удобной версии URL вместо недружелюбной по умолчанию, чтобы поисковые системы не индексировали недружественный URL.
В качестве дополнения, чтобы избежать индексации повторяющихся URL-адресов (в случае пропусков в коде), я предполагаю, что было бы разумно упомянуть на каждой странице ее удобный URL-адрес как каноническую ссылку:
<head>
...
<link rel="canonical" href="http://www.site.ext/Mozart" />
...
</head>
Верны ли приведенные выше предположения или есть противопоказания?
Поскольку названия категорий никогда не изменятся со временем, я предполагаю, что первый случай - перезапись URL-адреса только без заметного перенаправления - лучше в этой ситуации, поскольку поисковые системы будут хранить и отображать дружественный URL-адрес вместо недружественного. Так ли это на самом деле?
Да.
Что касается внутренних ссылок на сайте (то есть якорей на страницах), я предполагаю, что мне следует использовать PHP (или эквивалент) для динамической записи их удобной версии URL вместо недружелюбной по умолчанию, чтобы поисковые системы не индексировали недружественный URL.
Да. Только ссылка на удобный / "красивый" URL. Настоящий / "уродливый" URL никогда не открывается пользователям, поисковым системам или ботам любого рода. Настоящий / «уродливый» URL-адрес является полностью внутренним для вашего приложения.
Единственный дополнительный шаг, который вам, возможно, придется сделать, - это если это старый сайт и старые / «уродливые» URL-адреса уже проиндексированы поисковыми системами или связаны с внешними сайтами. В этом случае вам также придется реализовать внешние 301 редиректы со старого / «уродливого» URL-адреса на новый / «красивый» URL-адрес, чтобы сохранить SEO.
Я предполагаю, что было бы разумно указать на каждой странице ее удобный URL-адрес как каноническую ссылку.
Да, ты можешь это сделать. Это также гарантирует, что любые (ошибочные) параметры URL-адреса не будут проиндексированы.
Верны ли приведенные выше предположения
Да.