SEO-friendly web development:
советы разработчику сайтов от seoшного программиста
Итак. Вы закончили новый сайт.
Но есть ещё много разных вещей, которые нужно сделать для нового сайта или проверить на работоспособность:
- Заполнить сайт уникальным контентом
- прописать meta description и keywords
- заполнить <title> и <h1>
- создать html-карту сайта
- прописать alt'ы для всех изображнией
- сделать страницу с 404-й ошибкой
- .htaccess
- robots.txt
- sitemap.xml
- Проверить сайт валидатором
- Проверить сайт seo анализатором
- Проверить свой сайт и хостинг под нагрузкой
- Оптимизировать сайт для более быстрой загрузки страниц
- Проверить на откровенные баги
.htaccess
- Настроить ЧПУ
- Собрать в одну кучу главную страницу (www.example.com, www.example.com/, www.example.com/index.php)
- Склеить домены - выбрать основной (с www или без) и 301-ым редиректом сгонять народ на главный
- Настроить кеширование для различных типов файлов
Пример .htaccess
RewriteEngine On
RewriteBase /
# Выбираю основной домен
RewriteCond %{HTTP_HOST} ^seoder\.ru$ [NC]
RewriteRule ^(.*)$ http://www.seoder.ru/$1 [L,R=301]
# Настраиваю ЧПУ - для различных движков может различаться
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?your_urls_param=$1 [L,QSA]
# Выбираю главый файл по умолчанию
DirectoryIndex index.php index.html
# отключаю просмотр папок средствами сервера
Options -Indexes
# Настраиваю срок жизни в кеше браузера файлов разных типов
<IfModule mod_headers.c>
# 1 WEEK
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
# 2 DAYS
<FilesMatch "\.(xml|txt|css|js)$">
Header set Cache-Control "max-age=172800, proxy-revalidate"
</FilesMatch>
# 1 MIN
<FilesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=60, private, proxy-revalidate"
</FilesMatch>
# DISABLE CACHE
<FilesMatch "\.(xml)$">
Header set Cache-Control "no-cache, private, proxy-revalidate"
</FilesMatch>
</IfModule>
robots.txt
Не секрет, что поисковых систем, мягко говоря, дохрена. Поисковых роботов - ещё больше. И вся эта братия за ваши бабки шариться по вашему сайту и создаёт в приличной части случаев охренительный траффик, вплоть до положения сайта в гроб.
Гоните их в шею через robots.txt!
Не нужен китайский траффик? В шею китайского байду.
Яндекс ложит сайт? Поставьте ему задержку в robots.txt.
Кстати, о robots.txt
В нём, как минимум, должна быть указана ссылка на sitemap.xml и основное зеркало для Яндекса.
Как максимум нужно запретить все страницы, которые для поисковых систем не несут никакого смысла и являются копией более другого контента на этом-же сайте или просто надёрганного с других сайтов.
Не забываем запрещать разные варианты сортировок своих каталогов - оставляем только один.
SiteMap.xml
Он должен быть. В идеале должен генериться на автомате с некоторой завидной постоянностью.
Совсем в идеале должен присутствовать sitemap для картинок и видео.
Инструменты и полезные ссылки:
- Sitemap.xml validator
- Что такое sitemap.xml
- Полное описание формата sitemap.xml
- Изображения в sitemap.xml
Валидация HTML, CSS и RSS
Обязательно проверьте типовые страницы вашего сайта на наличие ошибок HTML и CSS.
Попутно проверьте и свой RSS.
Инструменты и полезные ссылки:
Проверьте сайт SEO анализатором
Используйте любой инструмент, который может пройтись по всем ссылкам сайта и предоставить итоговую статистику - обычно находится приличная куча багов, начиная от битых ссылок и заканчивая падением сайта на хлипких хостингах.
Я использую Search Engine Optimization (SEO) Toolkit - бесплатная и очень полезная тулза от Microsoft. Владельцы подлинной OS могу её скачать себе абсолютно бесплатно.
Проверьте свой сайт под нагрузкой
Нагоните на свой сайт трафика, что-бы увидеть, как он переносит нагрузку. Можно использовать например вот этот сервис: loadimpact.com.
Потом не забудьте почитать логи.
Ускорьте загрузку страниц
Объедините в один все файлы css. И javascript соберите в кучу. По возможности включите сжатие внешних js и css-файлов.
Включите сжатие основного html, не используйте конского размера изображений.
Кучи мелких картинок можно собрать в одну. Например можно объединить файлы различных статусов кнопок в один и css-ом с использованием background-position показывать нужный кусок - это очень сильно уменьшит количество параллельных запросов к серверу.
Для анализа скорости загрузки можно и нужно использовать различные инструменты. Например плагин для FireFox под названием Page Speed.
Ещё один полезный сервис, который позволяет оптимизировать сайт по размеру и скорости загрузки: http://www.webpagetest.org/.
Что должна уметь CMS
- Редактор текстов должен поддерживать семантическую вёрстку и обязан генерить валидный html
- Система управления сайтом должна предоставлять возможность редактирования:
- Собственно текста страницы
- <title>
- <H1>
- meta description
- meta keywords
- Адреса страниц (ЧПУ)
- Добавлять на страницы свои meta-заголовки
- Прописывать alt'ы для изображений
- Система должна следить за актуальностью ссылок.
Для перенесённых страниц (смена адреса) автоматически производить 301-ый редирект на новый адрес при попытке запроса по старому адресу. Желательно что бы она умела автоматом менять ссылки в тексте страниц сайта на новые. - RSS
- Карта сайта в виде html и sitemap.xml
Никогда не используйте в сайтостроении:
- несколько тэгов <H1> на одной странице
Он должен быть один аки перст, а это значит, что для заказчика в визуальном редакторе нужно отстрелить этот тег как класс. Если редактор позволяет, то запретить даже его ручной ввод через исходный код. -
названия файлов, классов, урлов и размеров картинок, которые попадают в AdBlock. Многи посетители используют эту фичу и шанс, что часть красоты или функционала вашего сайта приличная куча народа никогда не увидит. Само собой, явную рекламу явно рано или поздно отстрелят, но фукционал сайта никто специально в фильтры загонять не будет.
- названия и урлы типа: banner, reklama, popup, top_banner и их комбинации
- картинки размеров со стандартные баннеры: 120x600, 160x240, 300x250, 468x80 и т.д. и т.п.
- id="textadv", class="text-adv", ud="banner" и т.д.
Полный список запрещённых имён, id'ишников и прочего можно узреть скачав адблок с подпиской для своего региона.
- Пустые или почти пустые страницы. Даже если заказчик стоит на своём (а это была любимая пытка Бормана :) и требует мега супер пупер flash на главную совсем без текста. Не ленитесь - сделайте хотя бы альтернативную версию страницы для чертей без флеша, где кроме "Этот сайт требует адобе плеер скачать тут бла бла бла" продублируйте текстом и картинками то, чего должно было быть по задумке дизайнера и заказчика в мега-супер-пупер главной странице на flash.
Тока, ради бога, не переусердствуйте с объёмом и отличием от основного ролика - забанят в гуглах по первому стуку.
Вроде всё...
Надеюсь ничего не забыл.
Осталось установить свой любимый счётчик для сбора статистики и запускать сайт.
Всё. Теперь можно расслабиться и добавить свой сайт в поисковые системы, начинать ставить на него ссылки. Или не париться и просто отдать матёрым seo'шникам.
PS: Если есть какие откровенные ляпы или пробелы - пишите в коментариях - обязательно добавлю.


Обсуждение:
- Тема: RSS и SEO
- Вроде всё...
Надеюсь ничего не забыл.
*Мерзко хихикает*
Допустимо ли транслирование RSS лент со сторонних ресурсов на своем сайте? - Отправлено: 2010-09-28 13:15:44
- Тема: RSS и SEO
Более того, туда ещё можно рекламу вставить.. *хихикает ещё более мерзко* :)
PS: По хорошему нужно весь вражеский дублированный контент запихивать в noindex.- Отправлено: 2010-09-28 14:18:34
- Тема: RSS и SEO
- Да, видел такие сайты с рекламой. Там еще продаются доменные имена по 200$ за штуку.
Я хотел прикрутить ленту к главной странице, в отдельном блоке. И если я не ошибаюсь, сделать noindex в таком случае не получится.
Печально слышать. - Отправлено: 2010-09-28 15:38:30
- Тема: RSS и SEO
- Если блок ленты сильно меньше по объёму контета, чем собственно страница, то ничего смертельного в этом не вижу. А если его запихнуть в JavaScript, то с точки зрения SEO на странице ничего особо не поменяется, хотя гугл очень активно движется в сторону индексирования JavaScript.
Для Яндекса можно использовать блочный тег noindex. - Отправлено: 2010-09-28 15:44:49
- Тема: RSS и SEO
- Пожалуй вставлю js. Где-то прочитал, что rss лучше, поскольку поисковикам нравится обновление контента, а js только дает лишнюю ссылку. Но вряд ли им нравятся злостные копипастеры.
- Отправлено: 2010-09-28 17:49:54
Поисковикам нравится добавление нового уникального контента.
И что-то мне говорит, что рано или поздно они дойдут до состояния самостоятельного наплевания на блоки с вражеским контентом и ссылками.- Отправлено: 2010-09-28 18:45:38
- Тема: Тема
- "нравиться" БЕЗ МЯГКОГО ЗНАКА!!!
...поубивал бы.... - Отправлено: 2011-06-23 22:30:08
- та ладна... :)
- Отправлено: 2011-06-23 23:24:14


