Cómo Crear un Currículum Potenciado con Microdatos HTML5
Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)



En mayo de 2009, Google introdujo los Fragmentos Enriquecidos, más conocidos por su nombre en inglés como "Rich Snippets", son un pequeño bloque de información mostrada en los resultados de los motores de búsqueda de Google para que les resulte más fácil a los usuarios decidir qué páginas son importantes para su búsqueda. En junio de 2011, Google anunció la creación de Schema.org, una nueva iniciativa de Google, Bing y Yahoo! que intenta mejorar la web a través de la creación de estructuras de código.
Este tutorial muestra cómo crear un currículum online que incorpore los Microdatos de Schema.org. ¡El tutorial también incluye instrucciones sobre cómo usar Código Estructurado para la Autoría!
¡Elementos Extra Incluídos!


La muestra de ejemplo para el tutorial es una web con una sola página que puedes usar para crear tu currículum con toda libertad. Como extra, incluye algunas versiones con diferentes colores en los archivos zip; verde oscuro, verde vivo, azul oscuro y azul claro.
Por favor advierte que no se trata de un tutorial sobre diseño web o CSS, así que sólo veremos el código correspondiente al HTML5 y a los Microdatos de Schema.org.
Ahora, ¡empecemos!
Paso 1: El CSS
Crea una hoja de estilo CSS llamada "style.css" e incluye el siguiente código. No te preocupes; es bastante sencillo y comprenderlo no es realmente necesario para el tutorial.
1 |
|
2 |
|
3 |
/* Default Styles
|
4 |
--------------------------------------------------- */
|
5 |
|
6 |
body { |
7 |
margin: 0px; |
8 |
padding: 0px; |
9 |
background: url("../images/bg_dark_green.png"); |
10 |
background-color: inherit; |
11 |
font-size: 16px; |
12 |
font-family: "Trebuchet MS", Helvetica, sans-serif; |
13 |
color: #000; |
14 |
}
|
15 |
|
16 |
a:link { |
17 |
text-decoration: underline; |
18 |
color: #000; |
19 |
font-weight: bold; |
20 |
}
|
21 |
|
22 |
a:visited { |
23 |
text-decoration: underline; |
24 |
color: #000; |
25 |
font-weight: bold; |
26 |
}
|
27 |
|
28 |
a:hover { |
29 |
text-decoration: underline; |
30 |
color: #669933; |
31 |
font-weight: bold; |
32 |
}
|
33 |
|
34 |
a:active { |
35 |
text-decoration: underline; |
36 |
color: #000; |
37 |
font-weight: bold; |
38 |
}
|
39 |
|
40 |
#wrapper { |
41 |
width: 965px; |
42 |
margin: 0 auto; |
43 |
}
|
44 |
|
45 |
#content { |
46 |
background-color: #eee; |
47 |
width: 960px; |
48 |
text-align: left; |
49 |
overflow: auto; |
50 |
position: relative; |
51 |
margin: 25px 0px 25px 0px; |
52 |
border: #fff solid 2px; |
53 |
}
|
54 |
|
55 |
.clear { |
56 |
float: none; |
57 |
clear: both; |
58 |
margin: 20px 0px 20px 0px; |
59 |
}
|
60 |
|
61 |
|
62 |
/* Header
|
63 |
--------------------------------------------------- */
|
64 |
|
65 |
|
66 |
#contact-details .header_1 { |
67 |
float: left; |
68 |
width: 350px; |
69 |
text-align: center; |
70 |
margin: 40px 0px 0px 20px; |
71 |
}
|
72 |
|
73 |
#contact-details .header_1 img { |
74 |
border: #fff solid 4px; |
75 |
background: url("../images/bg_img_dark_green.png"); |
76 |
padding: 16px; |
77 |
margin: 10px 0px 0px 0px; |
78 |
}
|
79 |
|
80 |
#contact-details .header_2 { |
81 |
float: left; |
82 |
width: 570px; |
83 |
margin: 40px 0px 0px 10px; |
84 |
}
|
85 |
|
86 |
#contact-details .header_2 a { |
87 |
font-weight: normal; |
88 |
}
|
89 |
|
90 |
#contact-details h1 { |
91 |
margin: 0px 0px 0px 20px; |
92 |
font-size: 52px; |
93 |
font-weight: bold; |
94 |
}
|
95 |
|
96 |
#contact-details h3 { |
97 |
margin: 0px 0px 32px 20px; |
98 |
font-size: 30px; |
99 |
font-weight: bold; |
100 |
font-style: italic; |
101 |
}
|
102 |
|
103 |
#contact-details ul.info_1 { |
104 |
list-style: none; |
105 |
margin: 0px 0px 0px -12px; |
106 |
font-size: 18px; |
107 |
}
|
108 |
|
109 |
#contact-details ul.info_2 { |
110 |
list-style: none; |
111 |
margin: 0px 0px 15px -12px; |
112 |
font-size: 18px; |
113 |
}
|
114 |
|
115 |
#contact-details li.address { |
116 |
background: url("../images/home.png") no-repeat; |
117 |
background-position: 0px 0px; |
118 |
padding: 0px 0px 12px 40px; |
119 |
}
|
120 |
|
121 |
#contact-details li.phone { |
122 |
background: url("../images/phone.png") no-repeat; |
123 |
background-position: 0px 0px; |
124 |
padding: 0px 0px 12px 40px; |
125 |
}
|
126 |
|
127 |
#contact-details li.email { |
128 |
background: url("../images/mail.png") no-repeat; |
129 |
background-position: 0px 0px; |
130 |
padding: 0px 0px 12px 40px; |
131 |
}
|
132 |
|
133 |
#contact-details li.site_url { |
134 |
background: url("../images/computer.png") no-repeat; |
135 |
background-position: 0px 2px; |
136 |
padding: 0px 0px 12px 40px; |
137 |
}
|
138 |
|
139 |
#contact-details li.twitter { |
140 |
background: url("../images/twitter_sm.png") no-repeat; |
141 |
background-position: 0px 0px; |
142 |
padding: 0px 0px 12px 40px; |
143 |
}
|
144 |
|
145 |
|
146 |
|
147 |
/* Main Content
|
148 |
--------------------------------------------------- */
|
149 |
|
150 |
h2.top { |
151 |
margin: 0px; |
152 |
font-size: 22px; |
153 |
font-weight: bold; |
154 |
}
|
155 |
|
156 |
h2 { |
157 |
margin: 40px 0px 0px 0px; |
158 |
font-size: 22px; |
159 |
font-weight: bold; |
160 |
}
|
161 |
|
162 |
|
163 |
dl { |
164 |
margin: 0px 50px 0px 0px; |
165 |
}
|
166 |
|
167 |
|
168 |
dt { |
169 |
float: left; |
170 |
width: 200px; |
171 |
font-size: 20px; |
172 |
font-weight: bold; |
173 |
font-style: italic; |
174 |
text-align: right; |
175 |
}
|
176 |
|
177 |
dd { |
178 |
width: 620px; |
179 |
float: right; |
180 |
margin-right: 20px; |
181 |
}
|
182 |
|
183 |
dl#contact { |
184 |
margin: 0px; |
185 |
}
|
186 |
|
187 |
dt#contact { |
188 |
margin: 0px; |
189 |
}
|
190 |
|
191 |
dd#contact { |
192 |
margin: 0px; |
193 |
}
|
194 |
|
195 |
p.bus1 { |
196 |
margin: 0px; |
197 |
font-weight: bold; |
198 |
color: #669933; |
199 |
}
|
200 |
|
201 |
p.edu-info { |
202 |
margin: 10px 0px 0px 0px; |
203 |
font-weight: bold; |
204 |
color: #669933; |
205 |
}
|
206 |
|
207 |
p.edu-info a { |
208 |
color: #000; |
209 |
}
|
210 |
|
211 |
p.edu-info a:hover { |
212 |
color: #669933; |
213 |
}
|
214 |
|
215 |
p.time { |
216 |
margin: 0px; |
217 |
}
|
218 |
|
219 |
p.summary { |
220 |
margin: 10px 0px 0px 0px; |
221 |
}
|
222 |
|
223 |
|
224 |
#skills ul.list1 { |
225 |
float: left; |
226 |
list-style: none; |
227 |
margin: 0px 0px 0px -40px; |
228 |
width: 220px; |
229 |
}
|
230 |
|
231 |
#skills ul.list2 { |
232 |
float: left; |
233 |
list-style: none; |
234 |
margin: 0px 0px 0px 0px; |
235 |
width: 220px; |
236 |
}
|
237 |
|
238 |
#skills li { |
239 |
background: url("../images/bullet_green.png") no-repeat; |
240 |
background-position: 0px 2px; |
241 |
padding: 0px 0px 0px 25px; |
242 |
}
|
243 |
|
244 |
abbr { |
245 |
border-width: 0px; |
246 |
}
|
247 |
|
248 |
|
249 |
/* Footer
|
250 |
--------------------------------------------------- */
|
251 |
|
252 |
#footer { |
253 |
margin: 60px 40px 0px 40px; |
254 |
}
|
255 |
|
256 |
#footer img { |
257 |
border: 0px; |
258 |
}
|
259 |
|
260 |
#footer .footer_content { |
261 |
width: 700px; |
262 |
overflow: auto; |
263 |
margin: auto; |
264 |
border: #fff solid 2px; |
265 |
background-color: #dcdcdc; |
266 |
}
|
267 |
|
268 |
#footer ul.icons_1 { |
269 |
float: left; |
270 |
width: 525px; |
271 |
margin: 15px 10px 10px 15px; |
272 |
padding: 0px; |
273 |
}
|
274 |
|
275 |
#footer ul.icons_2 { |
276 |
float: right; |
277 |
width: 100px; |
278 |
margin: 10px 20px 10px 10px; |
279 |
padding: 0px; |
280 |
}
|
281 |
|
282 |
#footer .icons_1 li, #footer .icons_2 li { |
283 |
margin: 0px 0px 0px 7px; |
284 |
padding: 0px; |
285 |
list-style-type: none; |
286 |
display: inline; |
287 |
}
|
288 |
|
289 |
#footer a { |
290 |
color: #000; |
291 |
}
|
292 |
|
293 |
#footer a:hover { |
294 |
color: #669933; |
295 |
}
|
296 |
|
297 |
#footer .credits { |
298 |
float: none; |
299 |
clear: both; |
300 |
margin: 10px 0px 20px 0px; |
301 |
font-size: 12px; |
302 |
text-align: center; |
303 |
}
|
304 |
|
305 |
#footer .credits a { |
306 |
font-weight: normal; |
307 |
}
|
Paso 2: La Estructura del Código (Sin los Microdatos de Schema.org Incluídos)
Después, necesitamos un .html. Ésta es una maquetación básica a la que todos estamos acostumbrados.
1 |
|
2 |
|
3 |
<!DOCTYPE html>
|
4 |
<html>
|
5 |
<head>
|
6 |
<meta charset=UTF-8"> |
7 |
<meta charset="utf-8"> |
8 |
|
9 |
<title>Online Resume of Your Name</title> |
10 |
|
11 |
<!-- Meta -->
|
12 |
<meta name="description" content="A few lines about yourself"> |
13 |
<meta name="keywords" content="web,developer,designer,resume" /> |
14 |
<meta name="author" content="Your Name"> |
15 |
|
16 |
<!-- CSS Stylesheet -->
|
17 |
<link rel="stylesheet" type="text/css" href="css/style.css" /> |
18 |
|
19 |
<!--[if lt IE 9]>
|
20 |
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
21 |
<![endif]-->
|
22 |
|
23 |
</head>
|
24 |
<body>
|
25 |
|
26 |
<!-- Begin Wrapper -->
|
27 |
<div id="wrapper"> |
28 |
|
29 |
<!-- Begin Content Area -->
|
30 |
<div id="content"> |
31 |
|
32 |
<!-- Begin Header -->
|
33 |
<header>
|
34 |
|
35 |
<!-- Begin Contact Section -->
|
36 |
<section id="contact-details"> |
37 |
|
38 |
<!-- Begin Profile Image Section -->
|
39 |
<div class="header_1"> |
40 |
<img src="images/profile.jpg" width="250" height="250" alt="Your Name" /> |
41 |
</div>
|
42 |
<!-- End Profile Image Section -->
|
43 |
|
44 |
<!-- Begin Profile Information Section -->
|
45 |
<div class="header_2"> |
46 |
|
47 |
<h1><span>Your Name</span></h1> |
48 |
<h3>Web Developer / Designer</h3> |
49 |
|
50 |
<ul class="info_1"> |
51 |
<li class="address">555 Street Address, Toledo, Ohio, 43606 U.S.A.</li> |
52 |
</ul>
|
53 |
|
54 |
<ul class="info_2"> |
55 |
<li class="phone">(000) 000-0000</li> |
56 |
<li class="email"><a href="mailto:your-email@gmail.com">your-email@gmail.com</a></li> |
57 |
<li class="site_url"><a href="http://www.webcodepro.net/about.php" title="www.your-website.com">www.your-website.com</a></li> |
58 |
<li class="twitter"><a href="http://twitter.com/twitter-screen-name" title="Follow Me on Twitter">@twitter-screen-name</a></li> |
59 |
</ul>
|
60 |
|
61 |
</div>
|
62 |
<!-- End Profile Information Section -->
|
63 |
|
64 |
</section>
|
65 |
<!-- End Contact Section -->
|
66 |
|
67 |
</header>
|
68 |
<!-- End Header -->
|
69 |
|
70 |
<div class="clear"> </div> |
71 |
|
72 |
<!-- Begin Profile Section -->
|
73 |
<dl>
|
74 |
<dt>Profile:</dt> |
75 |
<dd>
|
76 |
|
77 |
<section class="summary"> |
78 |
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. |
79 |
</section>
|
80 |
|
81 |
</dd>
|
82 |
</dl>
|
83 |
<!-- End Profile Section -->
|
84 |
|
85 |
<div class="clear"> </div> |
86 |
|
87 |
<!-- Begin Skills Section -->
|
88 |
|
89 |
<dl>
|
90 |
<dt>Skills:</dt> |
91 |
<dd>
|
92 |
|
93 |
<section id="skills"> |
94 |
<ul class="list1"> |
95 |
<li>XHTML</li> |
96 |
<li>HTML5</li> |
97 |
<li>PHP</li> |
98 |
<li>JavaScript</li> |
99 |
<li>Magento</li> |
100 |
<li>WordPress</li> |
101 |
</ul>
|
102 |
<ul class="list2"> |
103 |
<li>HTML</li> |
104 |
<li>CSS</li> |
105 |
<li>MySQL</li> |
106 |
<li>jQuery</li> |
107 |
<li>CMS Made Simple</li> |
108 |
<li>Photoshop</li> |
109 |
</ul>
|
110 |
</section>
|
111 |
|
112 |
</dd>
|
113 |
</dl>
|
114 |
|
115 |
<!-- End Skills Section -->
|
116 |
|
117 |
<div class="clear"> </div> |
118 |
|
119 |
<!-- Begin Experience Section -->
|
120 |
<dl>
|
121 |
<dt>Experience:</dt> |
122 |
|
123 |
<dd>
|
124 |
|
125 |
<section id="experience"> |
126 |
|
127 |
<!-- Position #1 -->
|
128 |
|
129 |
<h2 class="top">Web Developer / Designer</h2> |
130 |
<p class="bus1">Company Name 1</p> |
131 |
<p class="time">February 2009 - Present</p> |
132 |
|
133 |
<p>
|
134 |
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. |
135 |
</p>
|
136 |
|
137 |
|
138 |
<!-- Position #2 -->
|
139 |
|
140 |
<h2>Web Developer / Programmer</h2> |
141 |
<p class="bus1">Company Name 2</p> |
142 |
<p class="time">November 2007 - February 2009</p> |
143 |
|
144 |
<p>
|
145 |
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. |
146 |
</p>
|
147 |
|
148 |
|
149 |
<!-- Position #3 -->
|
150 |
|
151 |
<h2>Web Developer / Programmer</h2> |
152 |
<p class="bus1">Company Name 3</p> |
153 |
<p class="time">March 2006 - November 2007</p> |
154 |
|
155 |
<p>
|
156 |
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. |
157 |
</p>
|
158 |
|
159 |
</section>
|
160 |
|
161 |
</dd>
|
162 |
</dl>
|
163 |
<!-- End Experience Section -->
|
164 |
|
165 |
<div class="clear"> </div> |
166 |
|
167 |
<!-- Begin Publications Section -->
|
168 |
<dl>
|
169 |
<dt>Publications:</dt> |
170 |
|
171 |
<dd>
|
172 |
|
173 |
<section id="publications"> |
174 |
|
175 |
<a href="http://net.tutsplus.com/tutorials/php/how-to-create-an-advanced-twitter-widget/" target="_blank" title="How to Create an Advanced Twitter Widget">"How to Create an Advanced Twitter Widget"</a>, <a href="http://net.tutsplus.com/" target="_blank" title="Nettuts+">Nettuts+</a>, 8/25/11 |
176 |
|
177 |
</section>
|
178 |
|
179 |
</dd>
|
180 |
</dl>
|
181 |
<!-- End Publications Section -->
|
182 |
|
183 |
<div class="clear"> </div> |
184 |
|
185 |
<!-- Begin Education Section -->
|
186 |
<dl>
|
187 |
<dt>Education:</dt> |
188 |
<dd>
|
189 |
|
190 |
<section id="education"> |
191 |
|
192 |
<p class="bus1">University of Toledo</p> |
193 |
|
194 |
2801 Bancroft Street |
195 |
<br /> |
196 |
Toledo, Ohio, 43606 U.S.A. |
197 |
|
198 |
<p class="summary">Web Design</p> |
199 |
<p class="time">2003 - 2005</p> |
200 |
|
201 |
<p class="edu-info"> |
202 |
<a href="http://www.utoledo.edu/" target="_blank" title="University of Toledo">www.utoledo.edu</a> |
203 |
</p>
|
204 |
|
205 |
</section>
|
206 |
|
207 |
</dd>
|
208 |
</dl>
|
209 |
<!-- End Education Section -->
|
210 |
|
211 |
<div class="clear"> </div> |
212 |
|
213 |
<!-- Begin Footer -->
|
214 |
<footer id="footer"> |
215 |
|
216 |
<!-- Begin Footer Content -->
|
217 |
<div class="footer_content"> |
218 |
|
219 |
<!-- Begin Schema Person -->
|
220 |
|
221 |
<ul class="icons_1"> |
222 |
<li><a href="https://profiles.google.com/jwagner719" title="Google Profile"><img src="http://www.google.com/images/icons/ui/gprofile_button-32.png" width="32" height="32" alt="Google Profile"></a></li> |
223 |
<li><a href="http://dribbble.com/" title="Dribbble"><img src="images/dribbble.png" width="32" height="32" alt="Dribbble" /></a></li> |
224 |
<li><a href="http://www.linkedin.com/" title="LinkedIn"><img src="images/linkedin.png" width="32" height="32" alt="LinkedIn" /></a></li> |
225 |
<li><a href="http://www.facebook.com/" title="Facebook"><img src="images/facebook.png" width="32" height="32" alt="Facebook" /></a></li> |
226 |
<li><a href="http://www.flickr.com/" title="Flickr"><img src="images/flickr.png" width="32" height="32" alt="Flickr" /></a></li> |
227 |
<li><a href="http://twitter.com/" title="Follow Me on Twitter!"><img src="images/twitter.png" width="32" height="32" alt="Follow Me on Twitter!" /></a></li> |
228 |
</ul>
|
229 |
|
230 |
<ul class="icons_2"> |
231 |
<li><a href="resume.pdf" title="Download Resume PDF"><img src="images/download.png" width="48" height="48" alt="Download Resume PDF" /></a></li> |
232 |
</ul>
|
233 |
|
234 |
<!-- End Schema Person -->
|
235 |
|
236 |
</div>
|
237 |
<!-- End Footer Content -->
|
238 |
|
239 |
<div class="credits"> |
240 |
Social Icons by <a href="http://paulrobertlloyd.com/2009/06/social_media_icons" target="_blank" title="Paul Robert Lloyd">Paul Robert Lloyd</a>, Profile & Download Icons by <a href="http://dryicons.com/" target="_blank" title="DryIcons">DryIcons</a>, Phone Icon by <a href="http://www.comfi.com/telecom-icons/" target="_blank" title="ComFi Telecom">ComFi Telecom</a>, Profile Image User Symbol by <a href="http://thenounproject.com/" target="_blank" title="The Noun Project">The Noun Project</a>. |
241 |
<br /> |
242 |
All used under a Creative Commons Attribution-ShareAlike license: <a href="http://creativecommons.org/licenses/by-sa/3.0/" target="_blank" title="Creative Commons Attribution-ShareAlike license">http://creativecommons.org/licenses/by-sa/3.0/</a> |
243 |
</div>
|
244 |
|
245 |
</footer>
|
246 |
<!-- End Footer -->
|
247 |
|
248 |
</div>
|
249 |
<!-- End Content -->
|
250 |
|
251 |
</div>
|
252 |
<!-- End Wrapper -->
|
253 |
|
254 |
</body>
|
255 |
</html>
|
Algunas Notas Relativas a la Estructura del Código
Adición al HTML5
Debido a que los Microdatos de Schema.org están basados en las especificaciones para los microdatos de HTML5, la estructura del código HTML5 se usa para crear la plantilla de la web de una sola página del currículum. Desafortunadamente, los navegadores antiguos como IE7 e IE8 no reconocen ciertos elementos HTML5. Las páginas escritas usando HTML5 no se visualizarán correctamente en estos navegadores.
Aquí tienes una captura de pantalla del currículum online de ejemplo visto en IE8 (pulsa sobre la imagen para verla al completo):
Para resolver este problema con las versiones antiguas del navegador IE, hemos añadido el código de abajo entre
etiquetas (justo bajo la hoja de estilo CSS):1 |
|
2 |
<!--[if lt IE 9]>
|
3 |
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
4 |
<![endif]-->
|
Este código es una adición de JavaScript HTML5 para que IE reconozca y aplique el estilo adecuadamente a los elementos HTML5.
Nota: La adición de JavaScript HTML5 no es necesaria en IE9 y superiores, así como tampoco en otros navegadores modernos que admitan HTML5.
Listas de Definición
Las listas de definición, <dd></dd> se usaban en el código en lugar de listas sin orden. La razón es que tiene mucho más sentido, si consideramos que cada elemento de lista va siempre seguido de una pequeña descripción.
Diferencias entre Secciones y Artículos
Parece que existe confusión en lo que respecta a los elementos HTML5 para las secciones y los artículos. El elemento section se usó en el código porque ninguna de las secciones del currículum se considera por sí misma un contenido aparte.
El elemento HTML5 article se usa para apartados que constituyen un contenido por sí solo, y la mayoría de las veces está sindicado como por ejemplo una entrada de un blog o un artículo de noticias. Este artículo explica bastante bien la diferencia entre los elementos article y section en HTML5.
Paso 3: Añade Microdatos de Schema.org - Person y PostalAddress


Los primeros tipos de esquemas que vamos a añadir a la estructura del código son Person y PostalAddress.
El Elemento Itemscope y el Atributo Itemtype
Un elemento itemscope se añade a las etiquetas <div></div> que son colocadas alrededor del contenido relativo a la información de Schema, como en este ejemplo:
1 |
|
2 |
<div itemscope itemtype="http://schema.org/Person"> |
3 |
|
4 |
Content that contains information about a Person |
5 |
|
6 |
</div>
|
El elemento itemscope y el atributo itemtype para el Schema Person será colocado tanto en las secciones de los enlaces de Contacto como en los enlaces a Perfiles en Medios Sociales de la web del currículum, de la siguiente forma:
1 |
|
2 |
<!-- Begin Contact Section -->
|
3 |
<section id="contact-details"> |
4 |
<div itemscope itemtype="http://schema.org/Person"> |
5 |
|
6 |
Rest of Code Block Here |
7 |
|
8 |
</div>
|
9 |
</section>
|
10 |
<!-- End Contact Section -->
|
1 |
|
2 |
<!-- Begin Social Media and Download Links -->
|
3 |
<div itemscope itemtype="http://schema.org/Person"> |
4 |
|
5 |
Rest of Code Block Here |
6 |
|
7 |
</div>
|
8 |
<!-- End Social Media and Download Links -->
|
El elemento itemscope y el atributo itemtype para el Schema PostalAddress están anidados dentro del Schema Person y están colocados alrededor de la lista sin orden <ul></ul> conteniendo la información de la dirección de la siguiente forma:
1 |
|
2 |
<!-- Begin PostalAddress Schema -->
|
3 |
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> |
4 |
<ul class="info_1"> |
5 |
<li class="address"><span itemprop="streetAddress">555 Street Address</span>, <span itemprop="addressLocality"<Toledo</span>, <span itemprop="addressRegion">Ohio</span>, <span itemprop="postalCode"<43606</span> <span itemprop="addressCountry">U.S.A.</span></li> |
6 |
</ul>
|
7 |
</div>
|
8 |
<!-- End PostalAddress Schema -->
|
Atributos Itemprop
Los atributos Itemprop necesitan ser añadidos siempre que sea adecuado usando las etiquetas span de forma que la información adicional sobre nuestra página web sea proporcionada a los motores de búsqueda.
Esquema Person
itemprop = "image"itemprop = "name"itemprop = "jobTitle"itemprop = "telephone"itemprop = "email"itemprop = "url"
Esquema PostalAddress
itemprop = "streetAddress"itemprop = "addressLocality"itemprop = "addressRegion"itemprop = "postalCode"itemprop = "addressCountry"
Código Final para los Enlaces de las Secciones Contacto y Medios Sociales
1 |
|
2 |
<!-- Begin Contact Section -->
|
3 |
<section id="contact-details"> |
4 |
<div itemscope itemtype="http://schema.org/Person"> |
5 |
|
6 |
<!-- Begin Profile Image Section -->
|
7 |
<div class="header_1"> |
8 |
<img src="images/profile.jpg" itemprop="image" width="250" height="250" alt="Your Name" /> |
9 |
</div>
|
10 |
<!-- End Profile Image Section -->
|
11 |
|
12 |
<!-- Begin Profile Information Section -->
|
13 |
<div class="header_2"> |
14 |
|
15 |
<h1><span itemprop="name">Your Name</span></h1> |
16 |
<h3><span itemprop="jobTitle">Web Developer / Designer</span></h3> |
17 |
|
18 |
<!-- Begin PostalAddress Schema -->
|
19 |
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> |
20 |
<ul class="info_1"> |
21 |
<li class="address"><span itemprop="streetAddress">555 Street Address</span>, <span itemprop="addressLocality"<Toledo</span>, <span itemprop="addressRegion">Ohio</span>, <span itemprop="postalCode"<43606</span> <span itemprop="addressCountry">U.S.A.</span></li> |
22 |
</ul>
|
23 |
</div>
|
24 |
<!-- End PostalAddress Schema -->
|
25 |
|
26 |
<ul class="info_2"> |
27 |
<li class="phone"><span itemprop="telephone">(000) 000-0000</span></li> |
28 |
<li class="email"><a href="mailto:your-email@gmail.com" itemprop="email">your-email@gmail.com</a></li> |
29 |
<li class="site_url"><a rel="me" itemprop="url" href="http://www.webcodepro.net/about.php" title="www.your-website.com">www.your-website.com</a></li> |
30 |
<li class="twitter"><a rel="me" itemprop="url" href="http://twitter.com/twitter-screen-name" title="Follow Me on Twitter">@twitter-screen-name</a></li> |
31 |
</ul>
|
32 |
|
33 |
</div>
|
34 |
<!-- End Profile Information Section -->
|
35 |
|
36 |
</div>
|
37 |
</section>
|
38 |
<!-- End Contact Section -->
|
1 |
|
2 |
<!-- Begin Social Media and Download Links -->
|
3 |
<div itemscope itemtype="http://schema.org/Person"> |
4 |
|
5 |
<ul class="icons_1"> |
6 |
<li><a rel="author" itemprop="url" href="https://profiles.google.com/jwagner719" title="Google Profile"><img src="http://www.google.com/images/icons/ui/gprofile_button-32.png" width="32" height="32" alt="Google Profile"></a></li> |
7 |
<li><a rel="me" itemprop="url" href="http://dribbble.com/" title="Dribbble"><img src="images/dribbble.png" width="32" height="32" alt="Dribbble" /></a></li> |
8 |
<li><a rel="me" itemprop="url" href="http://www.linkedin.com/" title="LinkedIn"><img src="images/linkedin.png" width="32" height="32" alt="LinkedIn" /></a></li> |
9 |
<li><a rel="me" itemprop="url" href="http://www.facebook.com/" title="Facebook"><img src="images/facebook.png" width="32" height="32" alt="Facebook" /></a></li> |
10 |
<li><a rel="me" itemprop="url" href="http://www.flickr.com/" title="Flickr"><img src="images/flickr.png" width="32" height="32" alt="Flickr" /></a></li> |
11 |
<li><a rel="me" itemprop="url" href="http://twitter.com/" title="Follow Me on Twitter!"><img src="images/twitter.png" width="32" height="32" alt="Follow Me on Twitter!" /></a></li> |
12 |
</ul>
|
13 |
|
14 |
<ul class="icons_2"> |
15 |
<li><a href="resume.pdf" title="Download Resume PDF"><img src="images/download.png" width="48" height="48" alt="Download Resume PDF" /></a></li> |
16 |
</ul>
|
17 |
|
18 |
</div>
|
19 |
<!-- End Social Media and Download Links -->
|
Paso 4: Añade Microdatos de Schema.org - Item List


El próximo esquema que vamos a añadir a la estructura del código es ItemList.
El elemento Itemscope y el Atributo Itemtype
El elemento itemscope y el atributo itemtype para el Schema ItemList serán colocados en la Sección Habilidades como ves aquí:
1 |
|
2 |
<!-- Begin Skills Section -->
|
3 |
<div itemscope itemtype="http://schema.org/ItemList"> |
4 |
|
5 |
Rest of Code Block Here |
6 |
|
7 |
</div>
|
8 |
<!-- End Skills Section -->
|
Atributos Itemprop
Añade el atributo "itemprop" siempre que sea apropiado mediante las etiquetas <span></span>. Más abajo está los atributos que serán usados para este esquema.
Esquema ItemList
itemprop="itemListElement"
Código de la Estructura para la Sección de Habilidades
1 |
|
2 |
<!-- Begin Skills Section -->
|
3 |
<div itemscope itemtype="http://schema.org/ItemList"> |
4 |
|
5 |
<dl>
|
6 |
<dt itemprop="name">Skills:</dt> |
7 |
<dd>
|
8 |
|
9 |
<section id="skills"> |
10 |
<ul class="list1"> |
11 |
<li itemprop="itemListElement">XHTML</li> |
12 |
<li itemprop="itemListElement">HTML5</li> |
13 |
<li itemprop="itemListElement">PHP</li> |
14 |
<li itemprop="itemListElement">JavaScript</li> |
15 |
<li itemprop="itemListElement">Magento</li> |
16 |
<li itemprop="itemListElement">WordPress</li> |
17 |
</ul>
|
18 |
<ul class="list2"> |
19 |
<li itemprop="itemListElement">HTML</li> |
20 |
<li itemprop="itemListElement">CSS</li> |
21 |
<li itemprop="itemListElement">MySQL</li> |
22 |
<li itemprop="itemListElement">jQuery</li> |
23 |
<li itemprop="itemListElement">CMS Made Simple</li> |
24 |
<li itemprop="itemListElement">Photoshop</li> |
25 |
</ul>
|
26 |
</section>
|
27 |
|
28 |
</dd>
|
29 |
</dl>
|
30 |
|
31 |
</div>
|
32 |
<!-- End Skills Section -->
|
Paso 5: Añade Microdatos de Schema.org - Organization


Después, vamos a añadir el esquema Organization al código estructurado.
Elemento Itemscope y el Atributo Itemtype
El elemento itemscope y el atributo itemtype para el Schema Organization serán colocados alrededor de cada "Position" enumerada en la sección "Experiencia", de la siguiente forma:
1 |
|
2 |
<!-- Position #1 -->
|
3 |
<div itemscope itemtype="http://schema.org/Organization"> |
4 |
|
5 |
Rest of Code Block Here |
6 |
|
7 |
</div>
|
8 |
|
9 |
<!-- Position #2 -->
|
10 |
<div itemscope itemtype="http://schema.org/Organization"> |
11 |
|
12 |
Rest of Code Block Here |
13 |
|
14 |
</div>
|
15 |
|
16 |
<!-- Position #3 -->
|
17 |
<div itemscope itemtype="http://schema.org/Organization"> |
18 |
|
19 |
Rest of Code Block Here |
20 |
|
21 |
</div>
|
Atributos Itemprop
Añade el atributo "itemprop" siempre que sea indicado mediante las etiquetas <span></span>. Más abajo están los atributos que usaremos para este esquema:
Esquema Organization
itemprop = "jobTitle"itemprop = "name"itemprop = "description"
Código Final para la Sección de la Experiencia
1 |
|
2 |
<section id="experience"> |
3 |
|
4 |
<!-- Position #1 -->
|
5 |
<div itemscope itemtype="http://schema.org/Organization"> |
6 |
|
7 |
<h2 class="top"><span itemprop="jobTitle">Web Developer / Designer</span></h2> |
8 |
<p class="bus1"><span itemprop="name">Company Name 1</span></p> |
9 |
<p class="time">February 2009 - Present</p> |
10 |
|
11 |
<p itemprop="description"> |
12 |
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. |
13 |
</p>
|
14 |
|
15 |
</div>
|
16 |
|
17 |
<!-- Position #2 -->
|
18 |
<div itemscope itemtype="http://schema.org/Organization"> |
19 |
|
20 |
<h2><span itemprop="jobTitle">Web Developer / Programmer</span></h2> |
21 |
<p class="bus1"><span itemprop="name">Company Name 2</span></p> |
22 |
<p class="time">November 2007 - February 2009</p> |
23 |
|
24 |
<p itemprop="description"> |
25 |
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. |
26 |
</p>
|
27 |
|
28 |
</div>
|
29 |
|
30 |
<!-- Position #3 -->
|
31 |
<div itemscope itemtype="http://schema.org/Organization"> |
32 |
|
33 |
<h2><span itemprop="jobTitle">Web Developer / Programmer</span></h2> |
34 |
<p class="bus1"><span itemprop="name">Company Name 3</span></p> |
35 |
<p class="time">March 2006 - November 2007</p> |
36 |
|
37 |
<p itemprop="description"> |
38 |
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. |
39 |
</p>
|
40 |
|
41 |
</div>
|
42 |
|
43 |
</section>
|
Paso 6: Añade Microdatos Schema.org - Article


Ahora vamos a añadir al código del esquema Article.
El elemento Itemscope y el Atributo Itemtype para Article
El elemento itemscope y el atributo itemtype para el Schema Article serán colocados en el "Article" incluido en la Sección Publicaciones de la siguiente forma:
1 |
|
2 |
<section id="publications"> |
3 |
<div itemscope itemtype="http://schema.org/Article"> |
4 |
|
5 |
Rest of Code Block Here |
6 |
|
7 |
</div>
|
8 |
</section>
|
Atributos Itemprop
Añade el atributo "itemprop" siempre que esté indicado usando las etiquetas . Más abajo tenemos los atributos de este esquema que vamos a usar:
Esquema Article
itemprop = "name"itemprop = "url"
El Código Final para la Sección de las Publicaciones
1 |
|
2 |
<section id="publications"> |
3 |
<div itemscope itemtype="http://schema.org/Article"><span itemprop="name"> |
4 |
<a itemprop="url" href="http://net.tutsplus.com/tutorials/php/how-to-create-an-advanced-twitter-widget/" target="_blank" title="How to Create an Advanced Twitter Widget">"How to Create an Advanced Twitter Widget"</a></span>, <a href="http://net.tutsplus.com/" target="_blank" title="Nettuts+">Nettuts+</a>, 8/25/11 |
5 |
</div>
|
6 |
</section>
|
Paso 7: Añade Microdatos Schema.org - EducationalOrganization y PostalAddress


Después vamos a añadir los esquemas EducationalOrganization y PostalAddress al código.
El Elemento Itemscope y el Atributo Itemtype para EducationalOrganization
El elemento itemscope y el atributo itemtype para el Schema EducationalOrganization se colocan en la Sección dedicada a la Formación de la siguiente forma:
1 |
|
2 |
<section id="education"> |
3 |
<div itemscope itemtype="http://schema.org/EducationalOrganization"> |
4 |
|
5 |
Rest of Code Block Here |
6 |
|
7 |
</div>
|
8 |
</section>
|
El elemento Itemscope y el Atributo Itemtype para PostalAddress
El elemento itemscope y el atributo itemtype para el Schema PostalAddress están anidados dentro del Schema EducationalOrganization y están colocados alrededor del código que contiene la información de la dirección dentro de la sección de Formación de la siguiente manera:
1 |
|
2 |
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> |
3 |
<span itemprop="streetAddress">2801 Bancroft Street</span> |
4 |
<br /> |
5 |
<span itemprop="addressLocality">Toledo</span>, <span itemprop="addressRegion">Ohio</span>, <span itemprop="postalCode">43606</span><span itemprop="addressCountry">U.S.A.</span> |
6 |
</div>
|
Atributos Itemprop
Añade el atributo "itemprop" siempre que sea apropiado usando las etiquetas <span></span>. Abajo tienes los atributos que usaremos para estos esquemas:
Esquema EducationalOrganization
itemprop = "name"itemprop = "url"
Esquema PostalAddress
itemprop = "streetAddress"itemprop = "addressLocality"itemprop = "addressRegion"itemprop = "postalCode"itemprop = "addressCountry"
Código Final para la Sección Formación
1 |
|
2 |
<section id="education"> |
3 |
<div itemscope itemtype="http://schema.org/EducationalOrganization"> |
4 |
|
5 |
<p class="bus1"><span itemprop="name">University of Toledo</span></p> |
6 |
|
7 |
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> |
8 |
<span itemprop="streetAddress">2801 Bancroft Street</span> |
9 |
<br /> |
10 |
<span itemprop="addressLocality">Toledo</span>, <span itemprop="addressRegion">Ohio</span>, <span itemprop="postalCode">43606</span><span itemprop="addressCountry">U.S.A.</span> |
11 |
</div>
|
12 |
|
13 |
<p class="summary"><span itemprop="name">Web Design</span></p> |
14 |
<p class="time">2003 - 2005</p> |
15 |
|
16 |
<p class="edu-info"> |
17 |
<a itemprop="url" href="http://www.utoledo.edu/" target="_blank" title="University of Toledo">www.utoledo.edu</a> |
18 |
</p>
|
19 |
|
20 |
</div>
|
21 |
</section>
|
Sobre el Código para Authorship


La imagen muestra el esquema del código para Authorship (John Resig) mostrado en los resultados de Google.
En junio de 2011, Google empezó a admitir "Authorship Markup". A través del uso de código, como
rel="author"yrel="me", con el los motores de búsqueda podrán identificar contenido creado por un mismo autor en todo Internet. Al usar el esquema de código para Authorship, una web con múltiples autores podría enlazar todos los artículos y entradas escritos por cada autor a una página específica para cada autor.
Los artículos y las entradas de una web de varios autores necesitan ser enlazados a la página de autor adecuada usando la etiqueta rel="author". Si la página del autor también incluye un enlace al perfil del autor en Google usando la etiqueta rel="me", la información sobre el autor podría aparecer también en los resultados de búsqueda de Google.
Para ayudar a los usuarios a descubrir contenido de calidad, Google está experimentando con la forma de mostrar la información de los autores en los resultados de los motores de búsqueda. Esta característica está siendo lanzada gradualmente y podría llegar a ser una parte muy importante en los resultados de del motor de búsqueda y en el posicionamiento.
Etiquetas Rel
Tanto los Enlaces de la sección de Contacto como los de la sección de Medios Sociales del currículum en la plantilla del sitio de una página contienen URLs que enlazan a un sitio web principal externo y a páginas en medios sociales. El atributo "rel" necesita añadirse a los enlaces de estas secciones de forma que el Código Authorship pueda ser implementado. El Markup Authorship permite a los motores de búsqueda identificar contenido creado por el mismo autor en todo Internet.
Existen dos etiquetas específicas para rel usadas dentro del código Authorship:
rel = "me"rel = "autor"
La mayoría de los enlaces incluidos en la página web del currículum apuntan a sitios relativos a la misma persona. Así que la etiqueta rel="me" ha sido añadida. Para el enlace del Perfil de Google, se ha añadido la etiqueta rel="author". Dependiendo de en dónde publiques tu currículum, podrías necesitar usar en cambio la etiqueta rel="me" para tu enlace al Perfil de Google.
Paso 8: Crea un Perfil de Google
Si quieres empezar identificando tu contenido original a través de Internet usando Código Estructurado para Authorship, primero necesitas crear un Perfil de Google.
Si ya dispones de una página de Perfil de Google, entonces deberías actualizar la información de tu perfil para que esté en consonancia (añade una foto de perfil, información sobre ti, ocupación, etc.).
También necesitas asegurarte de que se muestra una pestaña +1 en la página.
Si tu perfil de Google incluye una buena, directa y clara visión sobre ti, optará a aparecer como miniatura en los resultados de búsqueda.
Paso 9: Crea Enlaces en Página(s) Web Hacia Tu Perfil
Según Google, para establecer la autoría de una página web, necesitas hacer dos cosas:
- Coloca un enlace en esa página web hacia tu Perfil de Google
- Actualiza tu Perfil de Google con un enlace de vuelta hacia la página de inicio de la web.
Puedes enlazar tu contenido a tu Perfil de Google usando un enlace de texto:
1 |
|
2 |
<a href="[https://plus.google.com/your_profile]?rel=me">Google+</a> |
o hacerlo a través del código que te proporciona Google Profile Button:
1 |
|
2 |
<a rel="me" href="https://profiles.google.com/your_profile"> |
3 |
<img src="http://www.google.com/images/icons/ui/gprofile_button-32.png" width="32" height="32"> |
4 |
</a>
|
Google recientemente realizó cambios en las instrucciones de la estructura del código para la autoría que afectan al uso de las etiquetas
rel="author"yrel="me". Las nuevas instrucciones indican que debemos usarrel="author"tanto para los enlaces en forma de texto como los de botón. En cualquier caso, la etiquetarel="me"necesita usarse en lugar derel="author". Observa la captura de pantalla de abajo.


Captura de pantalla de "Error: La página de perfil del autor no dispone de un enlace rel=me hacia un Perfil de Google".
Usando Jonh Resig como ejemplo:
- En la Página About de la página web principal de John Resig, éste creó un enlace a su Perfil de Google usando rel="me"
- John Resig enlaza desde su Perfil de Google Plus hacia la Página de Inicio y la Página Sobre Mí de su web principal.
Paso 10: Completa el Formulario Google Authorship (¡Importante!)
Una vez hayas añadido los microdatos de Schema.org y hayas completado los pasos 8 y 9, completa y envía el Formulario de Solicitud de Autoría de Google.
Tu Código Estructurado para la Autoría no funcionará correctamente hasta que el Formulario de Autoría de Google haya sido completado y enviado.
Paso 11: Comprueba el Código de los Microdatos Empleando la Herramienta de Comprobación para los Fragmentos Enriquecidos
Pulsa sobre la imagen para ver los resultados completos de la prueba
Puedes cerciorarte de que Google es capaz de procesar y mostrar el código de tus microdatos en los resultados de búsqueda comprobando tu página con la Herramienta para Comprobar los Fragmentos Enriquecidos. Esta herramienta puede revisar varios tipos de código de datos estructurados, entre los que se incluyen los Microdatos, los Micro Formatos y RDFa.
Nota: La Herramienta de Comprobación para los Fragmentos Enriquecidos de Google está en modo Beta y podría dar resultados inesperados. Los resultados mostrados en la captura de pantalla al completo incluyen un error "Advertencia: Falta rellenar el campo fn." Schema.org no usa la etiqueta "fn", sin embargo la etiqueta se usa con los Microformatos. Esto es probablemente un error.
¡Hecho!
Ahora ya has creado un buen currículum online usando HTML5 y Microdatos de Schema.org, lo que proporciona información sobre ti que podría mostrarse en los resultados de los motores de búsqueda. Adicionalmente, al usar Código Estructurado para la Autoría, ¡ayudas a los motores de búsqueda a identificar todo tu contenido original que esté distribuido por Internet!
¿Te queda alguna duda? Cuéntanoslo en los comentarios, ¡y muchas gracias por leer este artículo!







