{"id":2520,"date":"2020-02-15T07:32:00","date_gmt":"2020-02-15T06:32:00","guid":{"rendered":"https:\/\/davidperezgar.com\/?p=2520"},"modified":"2020-02-15T19:17:21","modified_gmt":"2020-02-15T18:17:21","slug":"wordcamp-chiclana-2020-crea-schemas-sin-plugins","status":"publish","type":"post","link":"https:\/\/davidperezgar.com\/es\/wordcamp-chiclana-2020-crea-schemas-sin-plugins\/","title":{"rendered":"Charla WordCamp Chiclana: Crea Schemas sin plugins en WordPress"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Este es un resumen de mi charla que he realizado en <a href=\"https:\/\/2020.chiclana.wordcamp.org\/session\/crea-schemas-seo-sin-plugins\/\" target=\"_blank\" rel=\"noopener\">WordCamp Chiclana 2020<\/a>, que desde aqu\u00ed agradezco su confianza para contar conmigo como ponente.<\/p>\n\n\n\n  <div style=\"margin-bottom:5px\"> <strong> <a href=\"\/\/www.slideshare.net\/secret\/C1JH6vwHwX2CEP\" title=\"WordCamp Chiclana 2020 Crea schemas sin plugins\" target=\"_blank\" rel=\"noopener noreferrer\">WordCamp Chiclana 2020 Crea schemas sin plugins<\/a> <\/strong> from <strong><a href=\"https:\/\/www.slideshare.net\/closemarketing\" target=\"_blank\" rel=\"noopener noreferrer\">Closemarketing<\/a><\/strong> <\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 son los Schemas?<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Conjunto de etiquetas para describir nuestro contenido.<\/li><li>Ofrece sem\u00e1ntica enriquecida para los buscadores.<\/li><li>Ayuda a entender y clasificar la informaci\u00f3n.<\/li><li>Podr\u00e1 aparecer destacado en el buscador.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Tipos de Schemas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En la <a href=\"https:\/\/schema.org\/docs\/full.html\" target=\"_blank\" rel=\"noopener\">p\u00e1gina de Schema.org<\/a>, ofrece la jerarqu\u00eda total de todos los esquemas creados, siendo los de primer nivel los siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Action.<\/strong> Acci\u00f3n realizada por un agente directo o indirecto sobre un objeto directo.<\/li><li><strong>CreativeWork.<\/strong> El tipo m\u00e1s gen\u00e9rico para especificar un trabajo creativo, que incluye libros, pel\u00edculas, fotograf\u00edas, programas de software, etc.<\/li><li><strong>Event.<\/strong> Un evento que ocurre en un determinado tiempo y localizaci\u00f3n, tal como un concierto, clase o festival. La informaci\u00f3n de las entradas se puede realizar utilizando la propiedad ofertas. Los eventos repetitivos deber\u00e1n estructurarse como objetos de eventos separados.<\/li><li><strong>Intangible.<\/strong> Una clase \u00fatil que sirve de paraguas para cosas intangibles como cantidades, valores estructurados, etc.<\/li><li><strong>MedicalEntity.<\/strong> El tipo gen\u00e9rico de la entidad relacionada con la salud y la pr\u00e1ctica de la medicina.<\/li><li><strong>Organization.<\/strong> Una organizaci\u00f3n como un colegio, ONG, corporaci\u00f3n, club, etc.<\/li><li><strong>Person.<\/strong> Una persona (viva, muerta, \"no muerta\", o ficticia).<\/li><li><strong>Place.<\/strong> Entidades que est\u00e1n de alguna manera fijas, con un sitio fijo.<\/li><li><strong>Product.<\/strong> Un producto o servicio ofertado. Por ejemplo: un par de zapatos, una entrada de concierto, alquiler de coches, un corte de pelo, o un episodio de una serie en streaming online.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Nos ofrece un total de <strong>1022<\/strong> esquemas diferentes, por lo que podemos darnos cuenta de la versatilidad para utilizar dichos esquemas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ejemplo Schema para Recetas<\/h2>\n\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php line-numbers\">add_action( 'wp_head', 'cmk_add_schema_pages', 20 );\n\/**\n * Shows Schema depeding of post type in header with LD JSON\n *\n * @return void\n *\/\nfunction cmk_add_schema_pages() {\n      $post_id      = get_the_ID();\n      $cook_time    = get_post_meta( $post_id, 'rec_tiempo', true );\n      $prep_time    = get_post_meta( $post_id, 'rec_tiempo', true );\n      $ingredients  = get_post_meta( $post_id, 'rec_ingredient', false );\n      $recipe_inst  = wp_strip_all_tags( get_post_meta( $post_id, 'rec_preparacion', true ) );\n      $recipe_yield = get_post_meta( $post_id, 'rec_personas', true );\n\n      if ( is_singular( 'receta' ) ) {\n            $sch = '\n&lt;script type=\"application\/ld+json\"&gt; \n      {\n            \"@context\": \"http:\/\/schema.org\",\n            \"@type\": \"Recipe\",\n            \"author\": \"David Perez\",\n            \"cookTime\": \"PT' . $cook_time . 'M\",\n            \"datePublished\": \"2009-05-08\",\n            \"description\": \" ' . get_the_excerpt() . '\",\n            \"image\": \"' . get_the_post_thumbnail_url() . '\",\n            \"recipeIngredient\": [';\n            if ( is_array( $ingredients ) ) {\n                  foreach ( $ingredients[0] as $ingredient ) {\n                        $sch .= '\" ' . $ingredient . '\",';\n                  }\n            }\n            $sch .= '],\n            \"prepTime\": \"' . $prep_time . '\",\n            \"recipeInstructions\": \"' . $recipe_inst . '\",\n            \"recipeYield\": \"' . $recipe_yield . ' persons\",\n            \"suitableForDiet\": \"http:\/\/schema.org\/LowFatDiet\"\n      }\n&lt;\/script&gt;';\n\n            echo $sch;\n      } \/\/ Recipe schema\n}\n<\/code><\/pre><\/div>\n\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-preformatted\"><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Ejemplo Esquema Organizaci\u00f3n<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php line-numbers\">add_action( 'wp_head', 'cmk_add_schema_home_page', 20 );\n\/**\n * Shows Schema depeding of post type home_page in header with LD JSON\n *\n * @return void\n *\/\nfunction cmk_add_schema_home_page() {\n\n      if ( is_front_page() || is_home() ) {\n            $sch = '\n&lt;script type=\"application\/ld+json\"&gt;\n{\n  \"@context\": \"http:\/\/schema.org\",\n  \"@type\": \"Organization\",\n  \"address\": {\n    \"@type\": \"PostalAddress\",\n    \"addressLocality\": \"Granada, Espa\u00f1a\",\n    \"postalCode\": \"18006\",\n    \"streetAddress\": \"Calle Jose Luis P\u00e9rez Pujadas, 6 Edificio Forum Oficina B29\"\n  },\n  \"email\": \"info@closemarketing.es\",\n  \"url\": \"https:\/\/www.closemarketing.es\/\",\n  \"description\": \"Agencia de Marketing Online, Dise\u00f1amos Web en WordPress para Granada y M\u00e1laga.\",\n  \"taxID\": \"ESB19618909\",\n  \"employee\": [\n    {\n      \"@type\": \"Person\",\n      \"name\": \"David P\u00e9rez\"\n    },\n    {\n      \"@type\": \"Person\",\n      \"name\": \"Sacra J\u00e1imez\"\n    }\n  ],\n  \"member\": [\n      {\n            \"@type\": \"Organization\",\n            \"name\": \"AJE Granada\"\n      },\n      {\n            \"@type\": \"Organization\",\n            \"name\": \"WordPress Granada\"\n      }\n    ],\n  \"name\": \"Closemarketing\",\n  \"telephone\": \"+34858958383\"\n}\n&lt;\/script&gt;';\n            echo $sch;\n      } \/\/ home_page schema\n}\n<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Ejemplo Esquema Cursos<\/h2>\n\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php line-numbers\">add_action( 'wp_head', 'cmk_add_schema_courses', 20 );\n\/**\n * Shows Schema depeding of post type in header with LD JSON\n *\n * @return void\n *\/\nfunction cmk_add_schema_courses() {\n      if ( is_singular( 'formacion' ) ) {\n            $post_id   = get_the_ID();\n            $price_raw = get_post_meta( $post_id, '_listing_price', true );\n            $time_raw  = get_post_meta( $post_id, 'for_dura', true );\n            $time      = substr_replace( $time_raw, '', -1 );\n            if ( date( m ) &gt; 6 ) {\n                  $year_start = date( 'Y' );\n                  $year_end   = date( 'Y' ) + 1;\n            } else {\n                  $year_start = date( 'Y' ) - 1;\n                  $year_end   = date( 'Y' );\n            }\n            $start_date = $year_start . '-09-01';\n            $end_date   = $year_end . '-06-20';\n            $sch        = '&lt;script type=\"application\/ld+json\"&gt;\n{\n  \"@context\": \"http:\/\/schema.org\/\",\n  \"@id\": \".\/\",\n  \"@type\": \"Course\",\n  \"name\": \"' . get_the_title( $post_id ) . '\",\n  \"description\": \"' . get_the_excerpt( $post_id ) . '\",\n  \"hasCourseInstance\": [\n    {\n      \"@type\": \"CourseInstance\",\n      \"name\": \"' . get_the_title( $post_id ) . '\",\n      \"location\": {\n            \"@type\": \"Place\",\n            \"address\": {\n              \"@type\": \"PostalAddress\",\n              \"addressLocality\": \"Granada\",\n              \"addressRegion\": \"ESP\"\n            }\n      },\n      \"description\": \"' . get_the_excerpt( $post_id ) . '\",\n      \"startDate\": \"' . $start_date . '\",\n      \"startDate\": \"' . $end_date . '\",\n      \"timeRequired\": \"' . $time . '\",\n      \"about\": \"' . get_post_meta( $post_id, 'for_ncursos', true ) . '\"\n    }\n  ]\n}\n&lt;\/script&gt;';\n\n            echo $sch;\n      } \/\/ Course schema\n}\n<\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>M\u00e9todo para realizar Schemas en tu p\u00e1gina web realizada en WordPress. Es el resumen de una charla realizada en la WordCamp Chiclana 2020.<\/p>\n","protected":false},"author":1,"featured_media":5379,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":2,"footnotes":""},"categories":[169],"tags":[],"class_list":["post-2520","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-charlas"],"_links":{"self":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts\/2520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/comments?post=2520"}],"version-history":[{"count":1,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts\/2520\/revisions"}],"predecessor-version":[{"id":5861,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts\/2520\/revisions\/5861"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/media\/5379"}],"wp:attachment":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/media?parent=2520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/categories?post=2520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/tags?post=2520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}