BloGGood.ru

Блог Костаневича Степана

WordPress, PHP, HTML, CSS, Windows

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Seo-оптимизация » Seo-оптимизация WordPress

Seo-оптимизация WordPress

2012-11-03 / Вр:21:14 / просмотров: 6141

Друзья, в этом посте я бы хотел раскрыть важную тему о том, как оптимизировать WordPress. Действительно, это самая важная вещь для веб-мастера, так как создать красивый сайт с красивым дизайном, это еще не 100% успех в посетителях.
Вот поэтому я и создал пост под названием  "Seo-оптимизация WordPress".  Не буду забирать ваше драгоценное время, так как вы пришли на мой блог получить краткую и понятную информацию, а не читать длинное предисловие :). Приступаем к делу.

SEO-оптимизация.

Настройка постоянных ссылок.

Итак, с чего начать оптимизацию WordPress? Начнем с настроек постоянных ссылок. Если не изменять  настройки, то постоянные ссылки в WordPress будут иметь вот такой вод вид: "site.ru/?p=123". Я вам рекомендую поменять их на те, которые более предпочитают поисковики, будут они выглядит вот так: "site.ru/category/postname.html".
Для этого зайдите в админ панель WordPress:  Параметры > Постоянные ссылки.

Seo-оптимизация WordPress

В общих настройках выберите  пятый вариант отображение ссылок, под названием «Произвольно» и вставьте в него код:  /%category%/%postname%.html/.

Seo-оптимизация WordPress

Теперь адреса страниц URL будут выглядеть более приятней для поисковых машин.

Далее, я вам рекомендую установить бесплатный  плагин RusToLat. Этот плагин поможет автоматически называть URL записи на латыни.

скачать плагин можно тут:  mywordpress.ru/plugins/rustolat

У вас сейчас ссылка на категорию смотрится вот так: "ваш сайт/category/имя категории/".  Давайте уберем из URL категорий слово «category», оно нам ни к чему, абсолютно не нужная вещь и этим вы избавитесь от «шаблонности» движка.
Сделаем ссылку вот такую:  "ваш сайт/имя категории/", как видите из URL категорий мы убрали слово «category». Как можно убрать из URL категорий слово «category»?

Можно воспользоваться бесплатным плагином mywordpress.ru/plugins/seo-without-category/а можно это сделать и вручную без плагина.
Откройте файл functions.php (админ WordPress > Внешний вид > Редактор >functions.php). Между <?php  ?> впишите код, который находиться снизу.

/*решение проблемы с категориями*/
function seocategorydel($catlink1) {
 $catlink1 = str_replace('/category', '', $catlink1);
 return $catlink1;
}
add_filter('category_link', 'seocategorydel', 1, 1);

Оптимизируйте теги title, descriptions, keywords под ключевые слова.

Когда я создавал свой блог bloggood.ru, я столкнулся со стандартной проблемой Wordpress. При добавлении статей на сайт не было полей ввода title, descriptions, keywords, их нужно было устанавливать самому. Проблема исчезла после добавления плагина All In One SEO Pack, поля для ввода title, descriptions, keywords отобразились. Как грамотно составлять мета-теги я писал в посте тут.

Настройте файл robots.txt

При грамотном  настраивании файла robots.txt  вы избавляетесь от дублирующего контента  в WordPress.  Вот мой готовый код в файле robots.txt:

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /tag
Disallow: /author
Disallow: /archive
Disallow: /2011
Disallow: /2012
Disallow: /2013
Disallow: /2014
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Disallow: /?feed=
Disallow: /?s=
Disallow: /*?*
Disallow: /*?
Host: http://сайт.ru

Sitemap: http://сайт.ru/sitemap.xml
Sitemap: http://www.сайт.ru/sitemap.xml

Я в файле robots.txt запретил поисковым машинам индексировать метки (/tag), а категории оставил. Это нужно для того, чтобы одна и та же запись не дублировалась, поисковики одинаковых текстов не любят. Закрыл от индекса также архивы:
Disallow: /2011
Disallow: /2012

Рекомендую использовать плагин Robots Meta, он поможет справиться с  дублированным контентом.

Скачать плагин можно тут: wordpress.org/extend/plugins/robots-meta

Вот настройка плагина Robots Meta

настройка плагина Robots Meta

Встройте «хлебные крошки».

"Хлебные крошки"  - это важный элемент для удобства перемещения пользователя и поискового робота на сайте. Пользователь видит, где и в каком разделе он находится, и с легкостью может перемещаться по другим разделам.
Часто "хлебные крошки" используются для сайтов со сложной структурой.

Вот так будут выглядеть ваши "хлебные крошки" на блоге:

Главная страница –> Рубрика -> Категория -> Заголовок поста.

или вот так

Главная страница –> Категория -> Заголовок поста.

Вот пример как смотрятся  "хлебные крошки"  на блоге, рисунок снизу.

Хлебные крошки

Установка "хлебных крошек" без плагина.

Итак, "хлебные крошки" можно прописать вручную, для этого откройте файл functions.php (админ WordPress > Внешний вид > Редактор >functions.php). Между <?php  ?> впишите код, который находится снизу.

function dimox_breadcrumbs() {
 
$showOnHome = 0; // 1 - показывать "хлебные крошки" на главной странице, 0 - не показывать
 $delimiter = '&raquo;'; // разделить между "крошками"
 $home = 'Home'; // текст ссылка "Главная"
 $showCurrent = 1; // 1 - показывать название текущей статьи/страницы, 0 - не показывать
 $before = '<span class="current">'; // тег перед текущей "крошкой"
 $after = '</span>'; // тег после текущей "крошки"
 
global $post;
 $homeLink = get_bloginfo('url');
 
if (is_home() || is_front_page()) {
 
if ($showOnHome == 1) echo '<div id="crumbs"><a href="' . $homeLink . '">' . $home . '</a></div>';
 
} else {
 
echo '<div id="crumbs"><a href="' . $homeLink . '">' . $home . '</a> ' . $delimiter . ' ';
 
if ( is_category() ) {
 $thisCat = get_category(get_query_var('cat'), false);
 if ($thisCat->parent != 0) echo get_category_parents($thisCat->parent, TRUE, ' ' . $delimiter . ' ');
 echo $before . 'Архив рубрики "' . single_cat_title('', false) . '"' . $after;
 
} elseif ( is_search() ) {
 echo $before . 'Результаты поиска по запросу "' . get_search_query() . '"' . $after;
 
} elseif ( is_day() ) {
 echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
 echo '<a href="' . get_month_link(get_the_time('Y'),get_the_time('m')) . '">' . get_the_time('F') . '</a> ' . $delimiter . ' ';
 echo $before . get_the_time('d') . $after;
 
} elseif ( is_month() ) {
 echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
 echo $before . get_the_time('F') . $after;
 
} elseif ( is_year() ) {
 echo $before . get_the_time('Y') . $after;
 
} elseif ( is_single() && !is_attachment() ) {
 if ( get_post_type() != 'post' ) {
 $post_ENGINE= get_post_type_object(get_post_type());
 $slug = $post_type->rewrite;
 echo '<a href="' . $homeLink . '/' . $slug['slug'] . '/">' . $post_type->labels->singular_name . '</a>';
 if ($showCurrent == 1) echo ' ' . $delimiter . ' ' . $before . get_the_title() . $after;
 } else {
 $cat = get_the_category(); $cat = $cat[0];
 $cats = get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
 if ($showCurrent == 0) $cats = preg_replace("#^(.+)\s$delimiter\s$#", "$1", $cats);
 echo $cats;
 if ($showCurrent == 1) echo $before . get_the_title() . $after;
 }
 
} elseif ( !is_single() && !is_page() && get_post_type() != 'post' && !is_404() ) {
 $post_type = get_post_type_object(get_post_type());
 echo $before . $post_type->labels->singular_name . $after;
 
} elseif ( is_attachment() ) {
 $parent = get_post($post->post_parent);
 $cat = get_the_category($parent->ID); $cat = $cat[0];
 echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
 echo '<a href="' . get_permalink($parent) . '">' . $parent->post_title . '</a>';
 if ($showCurrent == 1) echo ' ' . $delimiter . ' ' . $before . get_the_title() . $after;
 
} elseif ( is_page() && !$post->post_parent ) {
 if ($showCurrent == 1) echo $before . get_the_title() . $after;
 
} elseif ( is_page() && $post->post_parent ) {
 $parent_id = $post->post_parent;
 $breadcrumbs = array();
 while ($parent_id) {
 $page = get_page($parent_id);
 $breadcrumbs[] = '<a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a>';
 $parent_id = $page->post_parent;
 }
 $breadcrumbs = array_reverse($breadcrumbs);
 for ($i = 0; $i < count($breadcrumbs); $i++) {
 echo $breadcrumbs[$i];
 if ($i != count($breadcrumbs)-1) echo ' ' . $delimiter . ' ';
 }
 if ($showCurrent == 1) echo ' ' . $delimiter . ' ' . $before . get_the_title() . $after;
 
} elseif ( is_tag() ) {
 echo $before . 'Записи с тегом "' . single_tag_title('', false) . '"' . $after;
 
} elseif ( is_author() ) {
 global $author;
 $userdata = get_userdata($author);
 echo $before . 'Статьи автора ' . $userdata->display_name . $after;
 
} elseif ( is_404() ) {
 echo $before . 'Error 404' . $after;
 }
 
if ( get_query_var('paged') ) {
 if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
 echo __('Page') . ' ' . get_query_var('paged');
 if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
 }
 
echo '</div>';
 
}
} // end dimox_breadcrumbs()

Сохраните файл.

Теперь в том месте шаблона, где вы хотите увидеть "хлебные крошки", установите следующий код. Обычно код вписывают в файлы single.php, page.php, category.php и в archive.php.

<?php if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?>

Сохраните файл.
Вам останется только улучшить внешний вид "хлебных крошек" в файле CSS. Добавте в файле CSS такие стили #crumbs и .current.

Установка "хлебных крошек" с плагином.

Можно, конечно, пойти простыми путями, установив плагин Breadcrumb NavXT
скачать плагин можно здесь:  wordpress.org/extend/plugins/breadcrumb-navxt/

После установки плагина, вставьте код (который снизу) в файлы single.php, page.php, category.php, archive.php.

<div id="breadcrumb_navx">
<?php if(function_exists('bcn_display'))
{ bcn_display(); }
?>
</div><!-- #breadcrumb_navx -->

Выбирать вам, как устанавливать "хлебные крошки" -  вручную или плагином.

Доступ к старым записям для ПС.

После каждого добавления нового поста, старые уходят все дальше и дальше и исчезают из вида поискового бота. Он потом не может их найти, а это есть очень плохо :(. Нам нужно создать  для блога постраничную навигацию.

постраничная навигация

Можно воспользоваться специальным плагином WP-PageNavi: wordpress.org/extend/plugins/wp-pagenavi/

После установки плагина установите код (код снизу) там, где вы хотите видеть навигацию по блогу, обычно все ставят в файлах index.php, category.php, archive.php.

<?php wp_pagenavi(); ?>

Сохраните файлы.

Можно конечно создать страничную навигацию и без плагина. Вы можете посмотреть, как она выглядит в действии, перейдя на "Главную" страницу.
Устанавливается постраничная навигация в течении 2-3 мин. Я вам про код напишу в следующем посте. Итак, статейка получилась не маленькая.

Добавьте похожие записи.

Добавьте похожие записи внизу поста. Это даст блогу отличную перелинковку для поисковых систем и заинтересованность читателя.
Я использую для этого дела плагин Related Posts wordpress.org/extend/plugins/wordpress-23-related-posts-plugin

Сделайте карту сайта.

Карта сайта необходима для быстрой и качественной индексации блога. Вы можете все сделать с помощью плагина Goggle XML Sitemaps и Sitemap Generator. Два этих плагина делают разные карты сайта.

Goggle XML Sitemaps
 создает карту только для поисковых систем в формате xml
скачать плагинwordpress.org/extend/plugins/rush-sitemap-generator/

Sitemap Generator – создает карту для посетителей в формате html
скачать плагин - wordpress.org/extend/plugins/google-sitemap-generator

Кэшируйте страницы сайта.

Для ускорения работы сайта, вам нужен плагин кэширования WP Super Cache или Hyper Cache.  Скорость загрузки вашего сайта или блога влияет на ранжирование ПС, да и посетителю будет лень ждать загрузки.

скачать плагин Hyper Cache:  wordpress.org/extend/plugins/hyper-cache/

Отключите все неиспользуемые плагины.

Я думаю, вам не нужны лишние нагрузки на сайт. Отключите все неиспользованные плагины, а лучше удалите.

Отключите ревизии (копии).

Копии создаются при изменении документа (посты, страницы, комментарии). Если их не уберете, то база данных вскоре засоряется и скорость сайта ухудшится, ужас.
Отключить создание копий можно в файле wp-config.php, пропишите в файле такую строчку:

define(‘WP_POST_REVISIONS’, 0);

Вот и все.

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Получай обновления блога!!! Подпишись:

Популярные статьи:

6 Ответов на комментарий - Seo-оптимизация WordPress

  1. Oksana

    Про All In One SEO Pack много страшностей вещают – например вот по этой ссылке http://isif-life.ru/blogovedenie/platinum-seo-pack-pravilnaya-nastrojka.html – советуют на Platinum переходить или Yoast WordPress SEO – что Вы думаете про эти 2 плагина. Надеюсь на ответ.

  2. Avatar photo Степан => автор блога

    Я пользуюсь плагином “All In One SEO Pack”. Остальные плагин “Platinum” и “Yoast WordPress SEO” я не пробовал.

  3. Сергей

    Здравствуйте, Степан!
    Доброго Вам времени суток!
    Подскажите пожалуйста, можно ли сделать постраничную навигацию на сайте без применения MySQL?
    Я определил для себя единственный способ постраничной навигации за счёт внутренней перелинковки. Но для этого приходится создавать вручную страницы. :smile:
    Я делал навигацию в MySQL, но у меня вместо текста знаки вопроса, хотя кодировка указана UTF8.
    Помогите пожалуйста разобраться.
    Заранее благодарю!

    С уважением к Вам

  4. Avatar photo Степан => автор блога

    Здравствуйте, Сергей!
    Проверьте, правильно ли Вы создали файл с кодировкой UTF-8, так как написать в файле мета тег не достаточно:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

    Прочитайте вот эту статью,
    Должно все получится.
    Эли не выйдет, попробуйте написать хостинг-провайдеру.

  5. Сергей

    Здравствуйте, Степан!

    Прежде всего хочу поблагодарить Вас, за четкий и оперативный ответ.

    У меня именно такая кодировка UTF-8. :smile:
    Сейчас у меня на странице отображается всё корректно: и текст и постраничная навигация присутствует. :smile:

    Я решил не пользоваться MySQL, я сделал постраничную навигацию в ручную. У меня на сайте всего несколько страниц с навигацией. :smile:

    Со временем планирую сделать ещё один сайт, вот его я сделаю полностью в MySQL, заодно попрактикуюсь. :smile:

    Ещё раз огромное спасибо! :smile:

  6. Avatar photo Степан => автор блога

    Пожалуйста, Сергей!

Добавить комментарий

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Метки: ,

Мои цели на 2018-2019:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Создать портфолио и мини интернет-магазин шаблонов

4). Довести количество статей до 800

5). Добиться посещаемости 3000 человек/сутки

6). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 810
Количество страниц на блоге: 20
Количество рубрик на блоге: 28
Количество меток на блоге: 72
Количество комментариев на блоге: 4716