open - ¿Qué es fbclid? El nuevo parámetro de facebook
open graph checker (4)
Durante dos días, he notado que la URL que publico en Facebook, hay un parámetro agregado:
?fbclid=uFCrBkUgEvKg...
Para ser más precisos, algo como:
http://example.com?fbclid=uFCrBkUgEvKg...
¿Alguien sabe lo que hace este parámetro?
¿Para qué sirve y para qué sirven los desarrolladores?
Gracias por tus comentarios.
Esto me ayudó: https://greasyfork.org/en/forum/discussion/44083/fbclid-tracking-parameter-attached-by-facebook
Aquí está la cita del enlace:
Ponga este código en su archivo .htaccess:
RewriteCond %{QUERY_STRING} "fbclid=" [NC] RewriteRule (.*) /$1? [R=301,L]
Si trabajas en WordPress:
RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} "fbclid=" [NC] RewriteRule (.*) /$1? [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
Otro enfoque, cómo eliminar este parámetro (para que sus usuarios puedan compartir su URL sin eliminarla manualmente) es usar JavaScript y
history.replaceState
.
Todos los créditos van al autor original: https://www.michalspacek.cz/zmena-url-a-skryvani-fbclid-pomoci-javascriptu
Código del enlace:
(function() {
var param = ''fbclid'';
if (location.search.indexOf(param + ''='') !== -1) {
var replace = '''';
try {
var url = new URL(location);
url.searchParams.delete(param);
replace = url.href;
} catch (ex) {
var regExp = new RegExp(''[?&]'' + param + ''=.*$'');
replace = location.search.replace(regExp, '''');
replace = location.pathname + replace + location.hash;
}
history.replaceState(null, '''', replace);
}
})();
Sé que
gclid
, es la abreviatura de (
G
oogle
Cl
ick
Id
entifier)
Es un
parámetro de seguimiento
único que
Google
utiliza para transferir información entre su cuenta de Google Ads y su cuenta de Google Analytics.
Facebook
debe estar haciendo lo mismo o algo similar con
fbclid
para mejorar los sistemas de análisis de seguimiento.
Según tengo entendido, el parámetro es un medio para rastrear al visitante del sitio, de modo que si su sitio incluye publicidad de Facebook, puede personalizarlo para que coincida con los hábitos de navegación registrados del visitante.
La
solución
Apache
mod_rewrite
anterior
es problemática porque elimina toda la cadena de consulta.
Si la URL ya tenía una cadena de consulta, esto se romperá.
Para eliminar solo el parámetro
fbclid
, es útil tener en cuenta que Facebook siempre lo agrega a una URL, por lo que siempre es el último.
Eso simplifica un poco el código
mod_rewrite
.
Esto es lo que hago:
# Strip Facebook spyware tokens
RewriteCond %{REQUEST_METHOD} =GET [NC,OR]
RewriteCond %{REQUEST_METHOD} =HEAD [NC]
RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+$ [NC]
RewriteRule ^/?(.*)$ /$1?%1 [NE,L,R=301,E=limitcache:1]
Header always set Cache-Control "max-age=604800" env=limitcache
El
E=limitcache:1
bandera y directiva de
Header
es para limitar el tiempo en que la redirección 301 se almacena en caché.
Por defecto, muchos navegadores lo
guardan en caché literalmente
para siempre
.
Esto reduce eso a una semana (o 604,800 segundos).
Puede que sea una minoría al pensar esto, pero eso me parece una buena práctica.
No sé cuánto tiempo persisten los tokens de
fbclid
, pero si son duraderos, significa que Facebook dirigirá a los visitantes a las mismas URL durante mucho tiempo, y si alguna vez desea apoyar los anuncios específicos de Facebook, o si Comience a usar el
fbclid
para otra funcionalidad que necesite, puede que encuentre que estos redireccionamientos almacenados en caché permanecen de nuevo.
Pero si está dispuesto a arriesgarse, puede eliminar tanto la directiva de
Header
como la
E=limitcache:1
.
Las dos pruebas de
%{REQUEST_METHOD}
son para evitar que Apache redirija las solicitudes POST (o más solicitudes esotéricas como PUT o DELETE, si son relevantes).
La mayoría de los navegadores cambian la solicitud para que sea una solicitud GET en un redireccionamiento 301 o 302, lo cual está explícitamente permitido por
RFC 7231
.
Hay un
nuevo código de redirección 308
que no debe reescribirse su método, pero desafortunadamente
no es compatible con Internet Explorer en Windows 7
(y probablemente nunca lo será).