Постовой (купить!): системы очистки воды
Вы в курсе, что WordPress предоставляет доступ к одному и тому же посту по четырем разным адресам? Вот так:
http://www.blog.ru/post
http://www.blog.ru/post/
http://blog.ru/post
http://blog.ru/post/
Чем конкретно это грозит?
Поисковики расценивают это, конечно, как 4 разные страницы, когда на самом деле – это один пост. Соответственно поисковик может присваивать одним адресам одни значения при ранжировании, а другим – другие. Скажем, если на Вас поставили ссылку http://blog.ru/post, а на самом деле Вы раскручивали эту страницу по адресу http://www.blog.ru/post/, то дорогостоящая естественная ссылка окажется бесполезной.
Вот как от этого избавиться. Во-первых, нужно включить постоянные ссылки (ЧПУ) в админке блога (хотя это уже должно быть сделано, если ссылки образовываются именно такие). Во-вторых, добавьте в файл .htaccess следующий код:
Options +Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^blog\.ru
RewriteRule ^(.*)$ http://www.blog.ru/$1 [R=permanent,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.blog.ru/$1/ [L,R=301]
Этот код сделает все ссылки вида http://www.blog.ru/post/
Если Вам нужно, чтобы адреса были без WWW, то код будет следующий:
Options +Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond ${HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^blog\.ru
RewriteRule (.*) http://blog.ru/1 [L,R=301]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule (.*) http://blog.ru/1/ [L,R=301]
Просто замените blog.ru на адрес Вашего блога в этом или предыдущем коде.
Вольный перевод http://www.jimwestergren.com/wordpress-users-sharpen-your-urls-with-google/
Оставьте свой комментарий
|
22.09.2008 в 5:04 дп
server {
server_name domain.ru;
}
server_name http://www.domain.ru;
##
##
rewrite ^(.*)\/$ $1 permanent;
##
}
}
}
22.09.2008 в 5:07 дп
22.09.2008 в 4:52 пп
22.09.2008 в 7:29 пп
22.09.2008 в 9:04 пп
24.09.2008 в 2:18 дп
function permalink_redirect()
{
if ($_GET || $_SERVER['QUERY_STRING'] != "" || substr($_SERVER['REQUEST_URI'],-1) == "?") {
if (!is_search() && !is_preview()) {
if (is_single() || is_page()) {
$url = get_permalink($post->ID);
}
else if (is_category()) {
$url = get_category_link($cat);
}
else if (is_tag()) {
$url = get_tag_link($tag_id);
}
else {
return;
}
die();
}
}
}
24.09.2008 в 2:19 дп
25.09.2008 в 10:33 пп
06.10.2008 в 2:52 пп
12.10.2008 в 7:25 пп
21.10.2008 в 6:38 пп
20.11.2008 в 5:17 дп
14.03.2009 в 11:33 дп
В xap-е (он же tnx) при просмотре своих сайтов
http://member.tnx.net/reguser.php?mod=sites
используется показатель, рассчитываемый
http://www.site-rank.com/
Так вот, у меня блог поднят с урлом без www.
А этот site-rank при оценке смотрит именно урлы с www (соответственно, оценка видимо занижена получается)
Вот пример:
http://www.google.com/search?&q=allinurl:www.detiveka.ru/+site:www.detiveka.ru
Как сделать так, чтобы стали работать страницы с www – но с сохранением и без www так как иначе будут потери в индексах поисковиков (которые сейчас, я так понимаю, проиндексированы и прокешированы без www)? Пробовал прописать в .htaccess форвард с www на без www – получил бесконечную переадресацию. Туплю где-то?