SEO-friendly web development: советы разработчику сайтов от seoшного программиста
Итак. Вы закончили новый сайт.
Но есть ещё много разных вещей, которые нужно сделать для нового сайта или проверить на работоспособность:
- Заполнить сайт уникальным контентом
- прописать meta description и keywords
- заполнить
и - создать 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 ^(.*)$ https://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
# Настраиваю срок жизни в кеше браузера файлов разных типов
# 1 WEEK
Header set Cache-Control "max-age=604800, public"
# 2 DAYS
Header set Cache-Control "max-age=172800, proxy-revalidate"
# 1 MIN
Header set Cache-Control "max-age=60, private, proxy-revalidate"
# DISABLE CACHE
Header set Cache-Control "no-cache, private, proxy-revalidate"
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.
Инструменты и полезные ссылки:
- HTML validator
- CSS validator
- RSS validator
Проверьте сайт 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
- Система управления сайтом должна предоставлять возможность редактирования:
- Собственно текста страницы
- meta description
- meta keywords
- Адреса страниц (ЧПУ)
- Добавлять на страницы свои meta-заголовки
- Прописывать alt'ы для изображений
- Система должна следить за актуальностью ссылок.
Для перенесённых страниц (смена адреса) автоматически производить 301-ый редирект на новый адрес при попытке запроса по старому адресу. Желательно что бы она умела автоматом менять ссылки в тексте страниц сайта на новые. - RSS
- Карта сайта в виде html и sitemap.xml
Никогда не используйте в сайтостроении:
- несколько тэгов
на одной странице
Он должен быть один аки перст, а это значит, что для заказчика в визуальном редакторе нужно отстрелить этот тег как класс. Если редактор позволяет, то запретить даже его ручной ввод через исходный код. -
названия файлов, классов, урлов и размеров картинок, которые попадают в AdBlock. Многи посетители используют эту фичу и шанс, что часть красоты или функционала вашего сайта приличная куча народа никогда не увидит. Само собой, явную рекламу явно рано или поздно отстрелят, но фукционал сайта никто специально в фильтры загонять не будет.
- названия и урлы типа: banner, reklama, popup, top_banner и их комбинации
- картинки размеров со стандартные баннеры: 120x600, 160x240, 300x250, 468x80 и т.д. и т.п.
- id="textadv", class="text-adv", ud="banner" и т.д.
Полный список запрещённых имён, id'ишников и прочего можно узреть скачав адблок с подпиской для своего региона.
- Пустые или почти пустые страницы. Даже если заказчик стоит на своём (а это была любимая пытка Бормана :) и требует мега супер пупер flash на главную совсем без текста. Не ленитесь - сделайте хотя бы альтернативную версию страницы для чертей без флеша, где кроме "Этот сайт требует адобе плеер скачать тут бла бла бла" продублируйте текстом и картинками то, чего должно было быть по задумке дизайнера и заказчика в мега-супер-пупер главной странице на flash.
Тока, ради бога, не переусердствуйте с объёмом и отличием от основного ролика - забанят в гуглах по первому стуку.
Вроде всё...
Надеюсь ничего не забыл.
Осталось установить свой любимый счётчик для сбора статистики и запускать сайт.
Всё. Теперь можно расслабиться и добавить свой сайт в поисковые системы, начинать ставить на него ссылки. Или не париться и просто отдать матёрым seo'шникам.
PS: Если есть какие откровенные ляпы или пробелы - пишите в коментариях - обязательно добавлю.