A | B | |
---|---|---|
1 | 🔀 XPath para SEO 🚀 Cheat Sheet | |
2 | by 🌐 miguelpau.es 🐦@miguelpau | |
3 | ||
4 | SCRAPING DE HTML BÁSICO Y PARAMETRIZADO | |
5 | ||
6 | Expresión XPath | ¿Qué nos devuelve? |
7 | //title | Contenido de la etiqueta title |
8 | //meta[@name='description']/@content | Contenido de la meta-etiqueta description |
9 | //h1 | Contenido de todas las etiquetas H1 que haya en la URL |
10 | //h1/text()[1] | Contenido de la primera etiqueta H1 que se encuentre |
11 | count(//h1) | Nº de etiquetas H1 en la página |
12 | //link[@rel='canonical']/@href | Valor de la etiqueta rel canonical |
13 | //meta[@name='robots']/@content | Valor de la etiqueta meta-robots |
14 | //a/@href[contains(.,'texto')] | URL de un enlace que contengan en el valor de href el texto indicado, por ejemplo un dominio |
15 | //a[contains(@href, 'texto')] | Anchor text usado en un enlace que contenga el texto indicado en el atributo href |
16 | //a[contains(@href, 'URL')]/@rel | Valor de la etiqueta rel de un enlace (si existe) cuya URL coincida con la indicada |
17 | //a[contains(@rel, 'nofollow')]/@href | Relación de URLs de enlaces cuya etiqueta rel contiene nofollow |
18 | //a[@style='display:none;']/@href | Relación de enlaces ocultos con display:none; |
19 | //a[@href='https://www.dominio.es/blog']/attribute::* | Relación de atributos que tiene ese enlace |
20 | //link/@hreflang | Valores ISO de todos los hreflang definidos |
21 | //link[@hreflang]/@href | Valores (URLS) de los href que figuran en cada hreflang definido |
22 | //img[not(@alt)]/@src | Relación de imágenes sin texto en el atributo ALT |
23 | //*[@class="breadcrumb"]/span/span/a | Todos los anchor texts de migas de pan para unas breadcrumbs que tienen el class "breadcrumb" (Ejemplo) |
24 | //meta[@name="viewport"]/@content | Nos devuelve el contenido del viewport |
25 | SCRAPING DE SERPS | |
26 | ||
27 | Expresión XPath | ¿Qué nos devuelve? |
28 | //*[@id="rso"]/div/div/div[1]/a/@href | Relación de URLs del listado de la página de resultados |
29 | //*[@id="rso"]/div/div/div[1]/a/h3 | Relación de titles de los snippets en el listado de la página de resultados |
30 | //*[@class='card-section']/div/p/a | Lista de búsquedas relacionadas que se muestra hacia el final de página de resultados |
31 | //*[@class='related-question-pair']/g-accordion-expander/div/div | Relación de preguntas+respuestas del bloque "Otras preguntas de los usuarios" |
32 | //div[contains(@data-sokoban-container,'i')]/div[1]/div/a/@href | Relación de URLs del listado de la página de resultados - Actualizado a 25/11/2022 |
33 | SCRAPING DE DATOS ESTRUCTURADOS, TWITTER CARDS Y OPEN GRAPH | |
34 | ||
35 | Expresión XPath | ¿Qué nos devuelve? |
36 | //*[@itemtype]/@itemtype | Relación de todos los marcados de datos incluidos en la URL escrapeada |
37 | //meta[@property='article:published_time']/@content | Fechas de los posts, útil cuando el atributo fecha no se está visualizando en el post |
38 | ||
39 | ||
40 | ||
41 | ||
42 | ||
43 | ||
44 | ||
45 | ||
46 | ||
47 | ||
48 | ||
49 | ||
50 | ||
51 | ||
52 | ||
53 | ||
54 | ||
55 | ||
56 | ||
57 | ||
58 | ||
59 | ||
60 | ||
61 | ||
62 | ||
63 | ||
64 | ||
65 | ||
66 | ||
67 | ||
68 | ||
69 | ||
70 | ||
71 | ||
72 | ||
73 | ||
74 | ||
75 | ||
76 | ||
77 | ||
78 | ||
79 | ||
80 | ||
81 | ||
82 | ||
83 | ||
84 | ||
85 | ||
86 | ||
87 | ||
88 | ||
89 | ||
90 | ||
91 | ||
92 | ||
93 | ||
94 | ||
95 | ||
96 | ||
97 | ||
98 | ||
99 | ||
100 |