Влияют ли ссылки на позиции сайта в Google?

Очень часто веб-мастера задаются вопросом "почему мой сайт не растёт в Google"? Ситуация типичная, достаточно просмотреть сеофорумы. Они завалены вопросами и советами: "покупать или нет ссылки?", "какие доноры?" и т.д. и т.п. Тут как тут сразу резвые специалисты по прогону сайта хрумером, по профилям, статейным прогонам. Они обещают увеличение видимости в поисковых системах, позиции, ТОП и т.д. Ссылочки, которые они предлагают мягко говоря невысокого качества. Кто делает на этом бизнес, без обид, говорю как есть.

Решил заказать прогон для сайта, который не хотел "любить" Гугл.  Хотелось побыстрее, чтобы не думать, не перебирать сайты... Но сразу возник вопрос: "А есть ли вообще зависимость между количеством говноссылок на сайт и позициями?" Проверим!

Пациент 1: игровой сайт типа "скачать мод для ...", домен RU, возраст 1 год 6 месяцев, в индексе Google 261 страница, посещалка в пиковые дни 2,5к.

Трафик: 95% из Яндекса, немного из соцсетей, остальное Google, Mail.ru.

Ссылочное: 5 ссылок в SAPE, несколько публикаций в каталогах статей типа subscribe.ru, прогон по сервисам тестирования, из описаний роликов на YouTube, со всяких ГС которые спарсили контент сайта прямо со ссылками и несколько естественных ссылок оставленных пользователями. Как видим ссылочным серьёзно не продвигался.

Проанализируем зависимость "Количество ссылок - Позиция в ТОП".

Заходим в Google Search Console и выгружаем в Excel ТОП страниц по позициям. Как видно по некоторым нет трафика, но это и не важно. Мы будем определять как ссылки влияют на позиции, а не на трафик. Трафик это отдельный разговор. Итак:

Анализ поисковых запросов в Гуглвебмастер

 Затем заходим Ссылки на ваш сайт - Все страницы, на которые ссылаются и выгружаем ТОП страниц по ссылочному:

Анализ ссылок в Гугл веб-мастере

Теперь создаём файл EXCEL, немного волшебства и формул и, в результате, можем сравнить столбец URLов из ТОП в поиске и столбец URLов с самым большим количествам ссылающихся доноров (кто в теме - рассчитываем коэффициент корреляции, ф-ия =КОРРЕЛ( )):

Зависимость позиций в поиске Google и количества ссылок на страницу

И что же мы видим? Коэффициент 0,095 (напомню, полная корреляция это 1). Это можно сказать вообще ничего. Никакой корреляции. Т.е. совсем. Т.е. все эти ссылки никак не повлияли на ранжирование, а страницы в ТОП оказались по каким-то другим факторам (текст, соц.сигналы, что-угодно, но не ссылки).

Пациент 2. Сайт на туристическую тематику, домен COM, Возраст 3 года. Трафик 50/50 Яндекс и Гугл

Ссылочное: Этот уже сознательно проганялся по профилям (безанкорные ссылки) + похожие ссылки (писал здесь), как у первого сайта. Прогон был год назад. После него все 1000 ссылок я равномерно (по 10 шт/сутки)  прогнал через твиттер аккаунты. На это ушло около 3х месяцев. Они появились в Я.вебмастере и Гугл веб-мастере. Было ТИЦ +10. Потом многие повыпадали. В итоге, когда я проверял их недавно, то из 1000 осталось около 100, т.е. примерно 10%. Визуально в статистике LI был виден всплеск посещаемости с Яндекса и Гугл уже через пару недель после прогона. Вроде бы как есть эффект, но .... Провёл тот же анализ - коэффициент корреляции с количеством ссылок - 0,014. Опять ниочём.

Анализируя такие данные вывод напрашивается один - профили, сервисы анализа и прочие бесплатные источники ссылок для ранжирования в Гугл не играют никакой роли.
А Вы что думаете по этому поводу?

П.С. Жду в комментариях специалистов по прогону Хрумером 🙂

Перенаправление со структуры категория/имя поста только имя поста в WordPress

Раньше всегда рекомендовалось использовать название рубрики для структуры постоянных ссылок WordPress (типа ...../wordpress/perenapravlenie-strukturyi-kategoriya/). Считалось что, когда пользователь видит полный адрес страницы, ему проще сориентироваться. Кроме того поисковики подсвечивают ключевые слова в URL ... Но в итоге такой адрес страницы стал создавать проблемы и я решил сменить /%category%/%postname%/  на /%postname%/

Так как до этого использовалась структура /%category%/%postname%/, было иногда трудно перенести пост из одной категории в другую после публикации, так как URL опубликованного поста имел название категории. Кроме того, в случае если пост принадлежал нескольким категориям, то название категории всегда выбиралось в алфавитном порядке в URL, а не из личных предпочтений автора.

Я решил изменить структуру на % postname %  .

настройка структуры постоянных ссылок WordPress

Итак не долго думая изменил настройки постоянных ссылок, но оказалось что сам WordPress не позаботился о редиректах на новые URL. В результате массовые ошибки 404 наших старых URL-адресов. А на сайт стоит множество ссылок!

Вариант 1

Попробовал я добавлять правила перенаправлениях в файл .htaccess . Но после добавления нескольких, я устал. Правил так много (столько, сколько постов), что это реальная проблема и отнимает много времени. Пример одной строчки кода:

redirect permanent /blog/general/goodbye-ie6-join-countdown-to-history/ http://site.ru/goodbye-ie6-join-countdown-to-history/

Если постов 100, то и строчек таких должно быть 100!

Вариант 2

Популярные плагины.

Я поставил плагин “Redirection”.

Выберите следующие параметры :
а) " Перенаправление URL " путем сопоставления " только URL "
б) URL Источник: /blog/general/(.* )
с) Целевой URL : / $ 1
d ) Регулярное выражение ( регулярное выражение ) : [ ✔ ] ( Это важная часть в противном случае регулярные выражения работать не будут )

Понятно, что название категорий подставляете свои.

Внимание! Если есть вложенные категории, то для них надо прописывать отдельные правила!

Я сделал только один экземпляр для каждой категории, и все наши старые ссылки были перенаправлены на наши новые ссылки. В общем-то проблема решена.

Но мне не нравится устанавливать так много плагинов ... ? И  чтобы избежать битых ссылок теперь мне пришлось бы держать этот плагин всегда включённым.

Вариант 3

Всё-таки я решил это сделать через .htaccess , потратил примерно 3 часа, много гуглил, в конечном счете пришёл к удовлетворительному решению .

Достаточно поставить этот код в файле .htaccess:

RewriteRule ^blog/general/(.*) http://domain.com/$1 [R=301,L]

или вот так:

RewriteRule ^blog/general/(.*) index.\php/$1 [R=301,L]

сразу после (важно!):

# BEGIN WordPress

RewriteEngine On
RewriteBase /

Всё отлично сработало!

Решение проблем с плагином Contact Form 7

Настройка и решение проблем с Contact Form 7

Ошибка This email address does not belong to the same domain as the site.

Ошибка This email address does not belong to the same domain as the site.Возникает, если Вы в форме связи в поле From используете какой нибудь ящик yandex.ru, mail.ru и т.д. По новым правилам это должен быть почтовый ящик на вашем сервере, например wordpress@site.ru, admin@site.ru и т.д.(где site.ru - это Ваш домен). Но, к счастью необязательно переходить на новый почтовый ящик с любимого mail.ru 🙂 Достаточно её просто указать в настройках формы Contact Form 7. Вот так:

Решение проблемы Contact Form 7 This email address does notНо это не всё. Даже если Вы не будете пользоваться своим ящиком wordpress@site.ru, он всё равно должен реально существовать. На некоторых нормальных хостингах, такие почтовые ящики сразу создаются службой поддержки. Если Ваша форма не заработала после внесённых изменений, то придётся создавать такой почтовый ящик. Или пишите в техподдержку или создавайте самостоятельно. Вот как это делается на моём хостинге:

 

Ошибка This field can be empty depending on user input.

Ошибка This field can be empty depending on user input.

Возникает в формах связи, которые были созданы до обновления плагина. В новой форме должно быть заполнено поле Additional Headers. Согласно официально справки это Reply-To: [your-email], а в поле Тема обязательно в кавычках "[your-subject]". Вот скриншот правильно заполненных полей:

Решение ошибки

 

 

Изменение стандартной галереи WordPress

На одном туристическом сайте понадобилось массово вставлять галереи в описания баз отдыха. А при такой рутинной работе всегда хочется сэкономить время.

Итак, что мы видим при создании новой галереи в WordPress:

стандартная галлерея ВордпрессВручную надо менять:

  • Ссылка  - На медиафайл (обязательно)
  • Колонки - 3 (по желанию)
  • Размер - Миниатюра (по желанию)

Зачем нам надо ставить ссылку на медиафайл? А для того чтобы работали плагины типа Lightbox и картинка красиво увеличивалась по клику. Но постоянно менять эти параметры муторно. Есть выход!

Вариант 1. Массовое редактирование шорткода [gallery ]

Кто не в курсе - при вставке галереи вставляется шорткод [gallery] с параметрами. Например [gallery columns="5"] - 5 колонок, [gallery link="file" order="DESC" columns="4"] - ссылка на файл, порядок сортировки обратный, 4 колонки.

Чтобы массово отредактировать уже созданные 50-100 галерей устанавливаем плагин Search & Replace и в контенте заменяем [gallery на [gallery link="file" и вуаля! Теперь все галереи будут работать правильно.

Но как настроить, чтобы по-умолчанию создаваемая галерея уже была со свойством "Ссылка на медиафайл"?

Вариант 2. Правим файлы WordPress

Вот тут уже надо быть предельно осторожным и естественно делать бэкап.

Поведение шорткода галереи задаётся в файле wp-includes/media.php. Скачиваем его по FTP и ищем примерно такой фрагмент кода:

$atts = shortcode_atts( array(
		'order'      => 'ASC',
		'orderby'    => 'menu_order ID',
		'id'         => $post ? $post->ID : 0,
		'itemtag'    => $html5 ? 'figure'     : 'dl',
		'icontag'    => $html5 ? 'div'        : 'dt',
		'captiontag' => $html5 ? 'figcaption' : 'dd',
		'columns'    => 3,
		'size'       => 'thumbnail',
		'include'    => '',
		'exclude'    => '',
		'link'       => ''
	), $attr, 'gallery' );

Вот здесь пустой параметр 'link' и задаёт будущее поведение галереи. Смело редактируем 'link'       => 'file' и теперь любая галерея, даже та в которой нет в шорткоде параметра link="file" будет вести себя как надо.

По аналогии можно поиграться с другими свойствами.

Удаляем link rel=’prev’ и link rel=’next’ из кода WordPress

Как известно сейчас поисковые системы Яндекс и Гугл наказывают за дублирование контента. При чём часто под санкции попадают самые обычные блоги на WordPress, которые не создают специально дублированные страницы, не занимаются чёрным SEO. То есть даже Ваш обычный бложик может иметь такую проблему.

Дубли это результат работы некоторых плагинов и самого движка WordPress. Прямо сейчас откройте исходный код (сочетание клавиш Ctrl+U) страницы рубрики, тегов или любой другой страницы где есть пагинация и проверьте поиском наличие такого фрагмента кода:

rel="next" или rel='prev'

Вот как это может выглядеть:

Удалить rel='next' и rel='prev'Это конечно не катастрофа, но по таким ссылкам перетекает статический вес страницы + создаются дубли. Поэтому если хотите избавиться от этой проблемы - то вперёд.

Итак самые известные "вредители" это любимые многими сео-плагины All in One SEO Pack и WordPress SEO by Yoast. Иногда появление такого кода  - это проблемы установленной темы.

Удаляем link rel='prev' и link rel='next' из темы WordPress

В некоторых устаревших темах реализована функция создающая ссылки на предыдущий и следующий пост. Для удаления его необходимо в functions.php дописать:

remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );

Плагин WordPress SEO by Yoast

 

  1. Вариант первый - через хак. Добавляем в functions.php.
add_filter( 'wpseo_next_rel_link', '__return_false' );
add_filter( 'wpseo_prev_rel_link', '__return_false' );

2. Можно исправить код плагина, но будет работать только до следующего обновления. Исправить код плагина можно через админку или по FTP. Через админпанель:

изменения плагинаЕсли по FTP, то  соединяемся с сайтом и в папке плагина находим файл wordpress-seo/frontend/class-frontend.php. Скачиваем его, открываем и находим примерно такие строки

$this->adjacent_rel_link( 'prev', $url, ( $paged - 1 ), true );

и комментируем их:

//$this->adjacent_rel_link( 'prev', $url, ( $paged - 1 ), true );

Я искал такие строки по фрагменту adjacent_rel_l, смотрите рисунок:

WordPress SEO by Yoast удаление дублейВсего таких строк мне пришлось закомментировать шесть.

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

Плагин All in One SEO Pack

 

  1. Вариант первый - через хак. Всё будет прекрасно работать, но только до следующего обновления плагина. Поэтому, чтобы решить эту проблему раз и навсегда необходимо в functions.php дописать:
add_filter('aioseop_prev_link', '__return_empty_string' );
add_filter('aioseop_next_link', '__return_empty_string' );

2. И редактированием файлов. Тут всё аналогично. Ищем в файле aioseop_class.php строки:

if ( !empty( $prev ) ) $meta_string .= "<link rel='prev' href='" . $prev . "' />\n";
if ( !empty( $next ) ) $meta_string .= "<link rel='next' href='" . $next . "' />\n";

И удаляем или комментируем их.

А вот теперь уже точно всё

Удачи Вам в борьбе с дублями!