СДЛ шаг за шагом. Часть 1.3 – Внутренняя оптимизация еще не окончена.
Ну как бы да, в прошлом выпуске мы настроили ЧПУ, поставили плагины, все формируется как полагается. Но это еще не все. Есть такая штучка, такой маленький файлик, который лежит в корне сайта и именуется .htaccess Именно его мы и будем сегодня настраивать.
Пара слов о том, что это такое и зачем оно нам нужно. Htaccess – это маленький файлик, который позволяет конфигурировать работу сервера (Апач) в отдельных директориях. К примеру, с помощью его вы можете изменить вид урлов на сайте. И еще, с ним нужно быть аккуратным, можно весь сайт похерить поломать.
Нам он нужен для:
- простановки 301 редиректа
- избавления от дублей страниц на сайте
- создания ЧПУ
- простановки редиректа в случае 404 ошибки на определенную страницу
По большему счету – это его основные функции.
При установке движка wordpress, он автоматически появляется сам. Но нам же не нужен просто файлик? Нам нужна рабочая мега штука, которая будет еще лучше затачивать наш сайт под продвижение в поисковых системах.
Как именно будет затачивать? С помощью этого маленького мега-файлика, который открывается в блокноте, содержит только пару строчек кракозяблы и даже не имеет расширения, мы будем избавляться от дублей страниц на нашем сайте.
Каждая страница вашего сайта должна быть доступна только по одному адресу (Урлу). Это критично, особенно для роботов. Нам с вами абсолютно без разницы, какой адрес у страницы, мы читаем контент. А вот поисковым роботам не пофигу. Для них каждый адрес – это уникальная отдельная страница, пусть даже она выглядит абсолютно одинаково.
Может быть непонятно, поэтому приведу пример:
Попробуйте открыть любую страницу вашего сайта, поставить после адреса слэш «/» и нажать Enter. (Если у вас изначально стоит слэш, наоборот уберите его.) Что у вас получилось?
Если открылась страница и слэш в конце адреса так и остался, поздравляю – вот вам пример дубля на вашем сайте. Если нет – поздравляю у вас дублей такого рода нет, попробуйте это сделать на сайте соседа или конкурента. Если у вас получилось – знайте, у этого товарища не настроен файл .htaccess. Ему же хуже.
А мы идем дальше.
Директива mod_rewrite – очень полезная штука. Всего есть 3 основных вида редиректов:
- внутренний,
- 302 (временная смена адреса страницы),
- 301 (страница постоянно перемещена по новому адресу)
Если ваш сайт доступен как с www, так и без www – поставьте 301 редирект путем прописи вот таких строчек в .htaccess:
C «www» на «без www»:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.sickboy.ru [NC]
RewriteRule ^(.*)$ http://sickboy.ru/$1 [L,R=301]
C «без www» на «с www»:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sickboy.ru [NC]
RewriteRule ^(.*)$ http://www.sickboy.ru/$1 [L,R=301]
Если же мы, к примеру, продвигали одну страницу (http://sickboy.ru/moi-uslugi), покупали на неё ссылки, а потом решили сменить адрес страницы (к примеру, на http://sickboy.ru/moi-uslugi-2). Дабы не потерять все ссылочное – следует поставить 301 редирект со старой страницы на новую. Таким образом, мы сохраним ссылочное, после того, как роботы склеят старую страницу с новой (2-5 ссылочных апов у Яндекса, почти мгновенно у Гугла).
Пишем вот такие строчки в файле .htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sickboy.ru [NC]
Redirect 301 /moi-uslugi http://sickboy.ru/moi-uslugi-2
Отвлеклись немного. Пока мы ничего не продвигаем, пока мы просто настраиваем файлик, чтобы он нормально работал и пока его содержимое должно быть следующего содержания:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Кстати, да – вот сам файлик – качайте, если вам неохота разбираться. Это файлик исключительно для стандартного блога, работающего на WordPress. Закидываете его в корень сайта (туда же, где robots.txt и sitemap.xml ) и наслаждайтесь.
В следующем уроке мы рассмотрим, как писать хорошие тайтлы и дискрипшены.
Твит дня: «Обычно с 23 лет у женщин начинает ломаться голос. С «нет» на «да»»
Очень интересно! Жду следующих статей!))
Да пожалуйста)
немного не понял — в каком именно месте файла .htaccess писать эти строчки:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.sickboy.ru [NC]
RewriteRule ^(.*)$ _http://site.ru/$1 [L,R=301]
Можно добавить в самый конец файла?
В статье приложен файл, открывается через обычный блокнот.
Загляните и все поймете.
Для правила «Redirect 301 /moi-uslugi _http://sickboy.ru/moi-uslugi-2», две строки выше не нужны.
Проверил свой. совпадает )
Дмитрий, у меня такой вопрос возник. Внешние ссылки на главную страницу моего сайта выглядят как сайт.ру так и сайт.ру/ (со слешем). Сейчас, как ты писал в статье, проверил как открывается главная страница. При вводе адреса в браузерную строку со слешем он убирается, значит, я так понял, в .htasses редирект главной у меня настроен на сайт.ру (без слеша). Но на других страницах типа «сайт.ру/бла/бла-бла-бла.html» открывается как «сайт.ру/бла/бла-бла-бла.html», так и «сайт.ру/бла/бла-бла-бла.html/». Объясни, плизз, как настроить 301 редирект для не главных страниц, чтобы они открывались также без «/»
Павел, обратитесь к программисту, который сделает это. Я оптимизатор, это немного не ко мне вопрос)