Нумерация на странице поиска Яндекс

Веб-мастерам и SEO-специалистам при просмотре результатов поисковой выдачи важно видеть номер позиции сайта. Раньше Яндекс показывал нумерованные позиции, но с некоторых пор отказался. Есть конечно расширение от Топвизор, но оно только для Chrome, так что пользователи Firefox и других браузеров пролетают. Нумерацию также добавляет плагин RDSbar, но опять же не везде. Как вариант есть букмарклет - у меня заработал и выглядит выдача неплохо. Недостаток - надо кликать по кнопке, чтобы появилась нумерация.

Предложу свой вариант - использование пользовательского скрипта (userscripts). В результате выдача будет выглядеть так (стрелками показана нумерация):

Нумерация поисковой выдачи Яндекс

Сначала немного теории. Чтобы нумерация состоялась, список в поисковой выдаче должен быть заключён в тег <ol>. Поэтому нужно добавить скрипт, который подменял бы на странице поиска тег <ul> на <ol>. Сделать это можно простым скриптом:

$(window).load(function() {
 $("ul").replaceWith(function(index, oldHTML){
 return $("<ol>").html(oldHTML);
});
 });

Проверено - работает в  Opera 41.

Чтобы задействовать скрипт в браузере, необходимо установить расширение типа Violentmonkey, Tampermonkey  и им подобные. Удачи!

P.S. Если у Вас не установлен блокировщик рекламы, то нумероваться будут и рекламные объявления. так что установите что-то типа uBlock origin.

Отзыв о сайте и программе vto.pe

Недавно попробовал работать с соцсетями с помощью сайта vto.pe (ВТопе). Поначалу всё было радужно. Добавил задание - накрутка лайков на записи группы Вконтакте. Чтобы заработать поинты для оплаты задания установил Vtopebot, добавил туда свои фейковые аккаунты ВК, Fb и Twitter. И всё поначалу было отлично. Поинты текут рекой. Лайки ставятся.

И в один прекрасный день получаю такое:

Аккаунт Вконтакте заблокирован из-за vto.pe

 

Я срочно начал восстанавливать аккаунт. Параллельно начал писать в ТП запрос. Вы не поверите. После написания обращения просто невозможно нажать кнопку "Отправить". Ссылка на страницу "Контакты" в блоге неактивна. Т.е. их вообще никак нельзя найти. При этом сайт и программа довольно качественные и внушают, на первый взгляд,  доверие.

Я понял, что это не та компания, с которой стоит иметь дело. Как потом выяснилось мои акаунтом "вступали" в группы, предлагающие интим-услуги и прочую чернуху. С аккаунта бомбили спамом других.

Так что мой вам совет - не пользуйтесь этой программой и сервисом. Ну разве что Вам плевать на свои аккаунты в соцсетях.

Изменение Title и Description SEO-плагинов WordPress

изменение Title и Description средствами php

В некоторых редких случаях в WordPress нужно автоматически менять (или добавлять что-то) в Title и Description. Например менять год в заголовке статьи. Так она будет всегда актуальной. Допустим "Как установить плагины в Wordpress [год]" И вместо [год] будет подставляться 2016, 2017 и т.д. Вставлять значения пользовательских полей.

Так как большинство веб-мастеров используют два плагина All in One Seo и Yoast, то рассмотрим на их примере.

Изменение заголовков и описаний с помощью пользовательских полей (Custom fields) в Yoast Seo

Тут на самом деле всё просто. Разработчики предусмотрели возможность вставлять шаблоны метаописаний.

Например их можно задать в шаблоне плагина (version - имя пользовательского поля):

пользовательские поля в Yoast SEO

Полный список шаблонов на официальном сайте плагина:

https://kb.yoast.com/kb/yoast-wordpress-seo-titles-metas-template-variables/

Изменение заголовков и описаний в All in One Seo средствами PHP и

Custom fields

По-умолчанию в данном плагине это сделать не так-то просто. Никаких встроенных инструментов плагин не даёт. Придётся применять php-сниппеты.

Используем исходную информацию по плагину http://4coder.info/en/blog/2011/all-in-one-seo-pack-customization/

Начнём с простого. Допишем в конец тайтла всех записей какое-то слово (например World!):

add_filter('aioseop_title_page','my_custom_title');
global $post;
function my_custom_title($text) {
$mytext = 'World!'; //задаём свой текст
$text .= $mytext; //"склеиваем" исходный Title и свой текст
return $text; //выводим текст
}

 (данный сниппет нужно добавлять в файл Function.php).

Тоже самое делаем для Description:

add_filter('aioseop_description','my_custom_description');
 global $post;
 function my_custom_description($text) {
 $mytext = 'World!'; //задаём свой текст
 $text .= $mytext; //"склеиваем" исходный Description и свой текст
 return $text; //выводим текст
 }

Теперь допишем в конец описания значение какого-нибудь пользовательского поля (custom fields). Если это сайт про онлайн-игры, то в пользовательское поле можно вписать номер версии игры и просто меняя номер версии при редактировании записи, менять её везде - в заголовке, описании, тексте поста и т.д.

Допустим Title  "Скачайте игру Покемоны версия <тут подставляем версию>"

И Description "На нашем сайте вы всегда можете скачать Покемоны <тут подставляем версию>"

Пример для описания:

add_filter('aioseop_description','my_custom_description');
global $post;
function my_custom_description($text) {
$mycustomseo = get_post_meta($post->ID, 'my_custom_field', true);//получаем значение пользовательского поля my_custom_field
$text .= $mycustomseo; //"склеиваем" исходный Description и пользовательское поле
 return $text; //выводим текст
}

Изменение сеозаголовков и описаний All in One Seo + Woocommers

Прежде всего почему мы используем связку All in One Seo + Woocommers? Потому что он уже был установлен на сайте. Хотя в Yoast проблема добавления пользовательских полей в описание решается намного проще и выше описана.

Так как в Woocommers не записи, а товары, то в сниппете нужно использовать не $post, а $product.

add_filter('aioseop_description','my_custom_description');
global $product;
function my_custom_description($text) {
$mycustomseo = get_the_terms($product->ID, 'pa_my_custom_field');//получаем значение пользовательского поля my_custom_field
$text .= $mycustomseo; //"склеиваем" исходный Description и пользовательское поле
 return $text; //выводим текст
}

Конкретный пример. Был сайт по продаже контрольных работ. В каждой контрольной были разные варианты и покупатель мог выбрать какой именно вариант контрольной он хочет купить. Естественно это был один товар и его Title выглядел примерно так:

"Контрольная по математике для 1 курса варианты 01, 03, 12"

Товаров таких было много, варианты постоянно добавлялись и было необходимо оперативно менять эти варианты сразу в тексте-описании, заголовке и сео-описании. Так как значения вариантов хранились в пользовательском поле 'variant' был составлен сниппет переписывающий заголовок:

add_filter('single_post_title','my_custom_product_title');
global $product;
function my_custom_product_title($text) {
$versionvalues = get_the_terms( $product->id, 'pa_variant');
if (!empty($versionvalues))
{
$mycustomseo = ' Вариант ';
$end_element = array_pop($versionvalues);//изымаем последний элемент, присваиваем его значение переменной
foreach ( $versionvalues as $versionvalue)
{
$mycustomseo .= $versionvalue->name; $mycustomseo .= $versionvalue->value;// делаем что-либо с первыми...
$mycustomseo .= ', ';
}

$mycustomseo .= $end_element->name; $mycustomseo .= $end_element->value; // делаем что-либо с последним элементом...

}

$text .= $mycustomseo;
return $text;
}

Здесь мы записываем исходный title в переменную $text, получаем массив значений всех вариантов $versionvalues, потом изымаем из него последний элемент $end_element (после него не нужна запятая) и в цикле foreach склеиваем это всё в одну строку, проставляя пробелы и запятые.

Влияют ли ссылки на позиции сайта в 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 /

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