Последние две недели для одного из моих сайтов были очень сложными. Проблема – сильная нагрузка на сервер. Откуда “росли ноги” – я не мог никак разобраться. И вот на днях нашел в обновленном Google Search Console отчет, где показано несколько тысяч предупреждений для моих страниц. Я посмотрел, а это оказывается дубли страниц с параметром fbclid, который наплодил Facebook и почему-то игнорирует Google, хотя в robots.txt все прописано. Так или иначе, это обеспокоило меня и пришлось разбираться.
Что такое FBCLID?
Где-то с октября 2018 года, а может и раньше, вебмастера заметили, что в Яндекс Метрике появляются в отчетах странные страницы с параметром fbclid. Оказалось, что Facebook подготовил очередную гадость в виде отслеживания URL, которые ведут с его площадки на другие сайты – он добавляет метку FBCLID.
FBCLID – расшифровывается как Facebook Click Identifier, по аналогии с GCLID (Google Click Id). Таким образом, fbclid служит для обмена данными с Facebook Analytics.
Как сообщают в интернете:
Другая версия, высказанная на Reddit, заключается в том, что параметр введендля обхода интеллектуальной системы отслеживания Apple 2.0, которую компания ввела для защиты Safari от межсайтового отслеживания Facebook и других площадок. В начале октября Facebook как раз анонсировал запуск основных файлов cookie для межсайтового отслеживания данных из Safari и Mozilla Firefox.
Если мы выделим какую-либо ссылку в любом посте в FB, то увидим URL перехода с меткой fbclid:
Чем опасен и как удалить параметр FBCLID?
У меня на сайте не было настроек Canonical URL для каждой страницы. Поэтому, как только люди пачками открывали ссылки с Facebook, они попадали не на оригинальные страницы, а на дубли. Таким образом сбоила база данных. Некоторые модули не понимают ситуацию и начинают перезаписывать уже существующие таблицы. В итоге веб-сервер не выдерживает и падает.
Существует несколько способов как от этого избавиться:
1. Самый простой для Яндекса – прописать директиву Clean Param в robots.txt:
2. Для Google – заходим в Search Console, и в старом интерфейсе находим пункт Сканирование -> Параметры URL. Нужно добавить новый параметр и запретить роботу индексировать:
3. В Google Analytics выбираем нужный ресурс, затем Администрирование -> Настройка представления данных. Находим поле “Исключить параметры запроса URL” и добавляем:
4. Можно также прописать параметр canonical URL, как это сделать описано в технических документациях Google и Яндекс.
5. Дополнительно можно прописать в файле .htaccess автоматический редирект со страниц с параметрами fbclid на оригинальные:
RewriteEngine On
RewriteCond %{QUERY_STRING} "fbclid=" [NC]
RewriteRule (.*) /$1? [R=301,L]
И последний способ, на CMS WordPress и Joomla работает 100%, сам его использую. Бороздя по просторам интернета, нашел небольшой кусок php-кода, его нужно вставить в Header и прибудет счастье:
<?php $base_url = ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on' ? 'Https' : 'http' ) . '://' . $_SERVER['HTTP_HOST']; $u = $base_url . $_SERVER["REQUEST_URI"]; $u = str_replace('&fbclid=','?fbclid=',$u); $fb = '?fbclid='; if ($newurl = strstr($u, $fb, true)) { header('Location: '. $newurl);} ?>
Вот в принципе и все, как побороть эту “заразу”. Советую также полистать справку Facebook.