За два дня я заметил, что к URL, который я публикую в Facebook, добавлен параметр:
?fbclid=uFCrBkUgEvKg...
Точнее, что-то вроде:http://example.com?fbclid=uFCrBkUgEvKg...
Кто-нибудь знает, что делает этот параметр?
Для чего это нужно и в чем польза разработчиков?
Спасибо за ваши комментарии.
Ответы:
Я знаю, что
gclid
это сокращение от ( G oogle Cl ick Id entifier).Это уникальный параметр отслеживания, который Google использует для передачи информации между вашей учетной записью Google Рекламы и вашей учетной записью Google Analytics.
Facebook должен делать то же самое или что-то подобное,
fbclid
чтобы улучшить системы отслеживания и аналитики.источник
Это мне помогло: https://greasyfork.org/en/forum/discussion/44083/fbclid-tracking-parameter-attached-by-facebook
Вот цитата из ссылки:
источник
RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+&?(.*)$ [NC] RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
Другой подход, как удалить этот параметр (чтобы ваши пользователи могли делиться вашим URL-адресом, не удаляя его вручную), заключается в использовании JavaScript и
history.replaceState
.Все кредиты принадлежат оригинальному автору - https://www.michalspacek.cz/zmena-url-a-skryvani-fbclid-pomoci-javascriptu
Код по ссылке:
источник
Насколько я понимаю, этот параметр является средством отслеживания посетителя сайта, поэтому, если ваш сайт включает рекламу из Facebook, они могут настроить ее в соответствии с записанными привычками просмотра посетителей.
Приведенное
mod_rewrite
выше решение Apache проблематично, поскольку оно удаляет всю строку запроса. Если в URL-адресе уже была строка запроса, это сломает ее. Чтобы удалить толькоfbclid
параметр, полезно отметить, что Facebook всегда добавляет его к URL-адресу, поэтому он всегда последний. Это немного упрощаетmod_rewrite
код. Это то чем я занимаюсь:E=limitcache:1
Флаг иHeader
директива , чтобы ограничить как долго кэшируется 301 редирект. По умолчанию многие браузеры кешируют его буквально навсегда . Это сокращает это до одной недели (или 604 800 секунд). Возможно, я в меньшинстве так думаю, но мне это кажется хорошей практикой. Я не знаю, как долгоfbclid
токены сохраняются, но если они существуют долго, это означает, что Facebook будет направлять посетителей по одним и тем же URL-адресам в течение длительного времени, и если вы когда-нибудь захотите поддержать таргетированную рекламу Facebook, или если они начнут используяfbclid
другие функции, которые вам нужны, вы можете обнаружить, что эти перенаправления с постоянным кешем снова перестают работать. Но если вы готовы рискнуть, вы можете удалить иHeader
директиву, иE=limitcache:1
флаг.Эти два теста
%{REQUEST_METHOD}
предназначены для предотвращения перенаправления Apache запросов POST (или более эзотерических запросов, таких как PUT или DELETE, если они актуальны). Большинство браузеров изменяют запрос на GET-запросы при перенаправлении 301 или 302, что явно разрешено RFC 7231 . Существует новый код перенаправления 308, который не должен переписывать свой метод, но, к сожалению, он не поддерживается Internet Explorer в Windows 7 (и, вероятно, никогда не будет).источник
Header
строку, если вы используете это, вы не захотите использоватьfbclid
. Забавно, что «постоянные» переадресации могут иметь дату истечения срока действия, но это естественная природа Интернета для вас. :-)