Microdata/pt-br: Difference between revisions

From Joomla! Documentation

Created page with "Retorno:"
 
(42 intermediate revisions by the same user not shown)
Line 3: Line 3:
<noinclude>{{Joomla version|version=3.2|time=and after}}</noinclude>
<noinclude>{{Joomla version|version=3.2|time=and after}}</noinclude>
==O que são microdados==
==O que são microdados==
Os microdados são uma forma de adicionar informações contextuais ao seu site e ao seu conteúdo, permitindo que os motores de busca compreendam melhor as informações que você fornece.
Os microdados são uma forma de adicionar informações contextuais ao seu site e ao seu conteúdo, permitindo que os mecanismos de buscas compreendam melhor as informações que você fornece.
__TOC__
__TOC__
As informações contextuais permitem que os mecanismos de pesquisas entendam o significado das informações apresentadas em seu site, o que permite responder melhor a consultas de "linguagem natural" mais detalhadas, onde a compreensão do significado ajuda a interpretar o conteúdo mais relevante a ser exibido.
As informações contextuais permitem que os mecanismos de pesquisas entendam o significado das informações apresentadas em seu site, o que permite responder melhor a consultas de "linguagem natural" mais detalhadas, onde a compreensão do significado ajuda a interpretar o conteúdo mais relevante a ser exibido.
Line 14: Line 14:
A versão 3.2 introduziu a biblioteca JMicrodata, parte de um dos muitos projetos bem-sucedidos enviados durante o GSoC 2013 e a versão 3.3 introduziu elementos de microdados em dois dos esquemas do componente principal. Para a versão 3.4, pretendemos continuar refinando a biblioteca JMicrodata para garantir que seja flexível e fácil de usar para usuários de todos os níveis de habilidade e continuar implementando elementos de microdados em esquemas principais.
A versão 3.2 introduziu a biblioteca JMicrodata, parte de um dos muitos projetos bem-sucedidos enviados durante o GSoC 2013 e a versão 3.3 introduziu elementos de microdados em dois dos esquemas do componente principal. Para a versão 3.4, pretendemos continuar refinando a biblioteca JMicrodata para garantir que seja flexível e fácil de usar para usuários de todos os níveis de habilidade e continuar implementando elementos de microdados em esquemas principais.


==Como utilizo os microdados??==
==Como utilizo os microdados?==
Os microdados podem ser adicionados ao Joomla! usando sobreposições de modelos ou com o uso de plugins que permitem inserir microdados em recursos específicos.
Os microdados podem ser adicionados ao Joomla! usando sobreposições de modelos ou com o uso de plugins que permitem inserir microdados em recursos específicos.
<br>
<br>
Line 24: Line 24:
<br>
<br>
A biblioteca foi projetada com esses objetivos em mente:
A biblioteca foi projetada com esses objetivos em mente:
# Tendo a '''possibilidade de alternar os tipo de microdados dinamicamente''', basta alterar o tipo (há 558 tipos diferentes disponíveis);
# Ter a '''possibilidade de alternar os tipos de microdados dinamicamente''', basta alterar os tipos (há 558 tipos diferentes disponíveis);
# '''exibe semântica validada''', a biblioteca cuida para exibir os dados corretamente;
# '''exibir semântica validada''', a biblioteca cuida para exibir os dados corretamente;
# '''habilitar/desabilitar a semântica dos microdados''';
# '''habilitar/desabilitar a semântica dos microdados''';
# '''substitutos''', você nunca deve perder qualquer semântica significativa;
# '''reservas''', você nunca deve perder qualquer semântica significativa;
A classe JMicrodata usa o arquivo [https://github.com/joomla/joomla-cms/blob/master/libraries/joomla/microdata/types.json types.json] que contém todos os < i>tipos</i> e <i>propriedades</i> de http://schema.org disponíveis, esse arquivo foi criado automaticamente com o rastreador web de https://github.com/PAlexcom/Spider4Schema.
A classe JMicrodata usa o arquivo [https://github.com/joomla/joomla-cms/blob/master/libraries/joomla/microdata/types.json types.json] que contém todos os <i>tipos</i> e <i>propriedades</i> de http://schema.org disponíveis, esse arquivo foi criado automaticamente com o rastreador web de https://github.com/PAlexcom/Spider4Schema.


==Como uso a biblioteca JMicrodata?==
==Como uso a biblioteca JMicrodata?==
Line 183: Line 183:
</source>
</source>


the microdata in a <span> tag, there is also available a JMicrodata::htmlDiv() method with the same functionalities.
os microdados em uma tag <span>, também está disponível um método JMicrodata::htmlDiv() com as mesmas funcionalidades.
<br>
<br>
<br>
<br>
<code>'''JMicrodata::htmlMeta($content, $property, $scope = "", $inverse = false);'''</code><br>
<code>'''JMicrodata::htmlMeta($content, $property, $scope = "", $inverse = false);'''</code><br>
Return:
Retorno:


<source lang="php">
<source lang="php">
Line 193: Line 193:
</source>
</source>


the microdata in a <meta> tag with the <i>content for machines</i>, this method does not add the meta tag in the <head> section of the page.
os microdados em uma tag <meta> com o <i>conteúdo para máquinas</i>, esse método não adiciona a metatag na seção <head> da página.
<br>
<br>
<br>
<br>
<code>'''$microdata = JMicrodata($type = "", $flag = true);'''</code><br>  
<code>'''$microdata = JMicrodata($type = "", $flag = true);'''</code><br>  
Create a new instance of the <i>JMicrodata</i> class and setup the current <i>Type</i>, the flag param is for enabling or disabling HTML microdata semantics output. Fallback to <i>Thing</i> Type if the Type isn't available or given.
Cria uma nova instância da classe <i>JMicrodata</i> e configura o <i>Tipo</i> atual, o parâmetro flag é para habilitar ou desabilitar a saída semântica de microdados html. Substitui para o tipo <i>Thing</i> se o tipo não estiver disponível ou não for fornecido.
<br>
<br>
<br>
<br>
<code>'''$microdata->enable($flag = true);'''</code><br>  
<code>'''$microdata->enable($flag = true);'''</code><br>  
Enable or Disable HTML Microdata semantics output.
Habilita ou desabilita a saída semântica de microdados html.
<br>
<br>
<br>
<br>
<code>'''$microdata->isEnabled();'''</code><br>  
<code>'''$microdata->isEnabled();'''</code><br>  
Return true if Microdata semantics HTML output are enabled.
Retorna true se a saída html da semântica de microdados estiver habilitada.
<br>
<br>
<br>
<br>
<code>'''$microdata->setType($type);'''</code><br>
<code>'''$microdata->setType($type);'''</code><br>
Set a new Schema.org <i>Type</i>, there is also a $microdata->getType() function to retrieve the current <i>Type</i>.
Define um novo <i>Tipo</i> de Schema.org, também há uma função $microdata->getType() para recuperar o <i>Tipo</i> atual.
<br>
<br>
<br>
<br>
<code>'''$microdata->property($name);'''</code><br>  
<code>'''$microdata->property($name);'''</code><br>  
Setup the <i>Property</i> if available in the current <i>Type</i> Scope, there is also a $microdata->getProperty() function to retrieve the current <i>Property</i>.
Configura a <i>Propriedade</i> se disponível no escopo do <i>Tipo</i> atual, há também uma função $microdata->getProperty() para recuperar a <i>Propriedade</i> atual.
<br>
<br>
<br>
<br>
<code>'''$microdata->content($value, $machineValue = null);'''</code><br>  
<code>'''$microdata->content($value, $machineValue = null);'''</code><br>  
Setup a <i>Text value</i> or <i>Content value</i> for the Microdata, there is also a $microdata->getContent() function to retrieve the current <i>Text value</i>.
Configura um <i>Valor de texto</i> ou <i>Valor de conteúdo</i> para os microdados, também há uma função $microdata->getContent() para recuperar o <i>valor de texto</i> atual .
<br>
<br>
<br>
<br>
<code>'''$microdata->fallback($type, $property);'''</code>  
<code>'''$microdata->fallback($type, $property);'''</code>  
<br>Setup a Fallback <i>Type</i> and <i>Property</i>, there are also the $microdata->getFallbackType() and $microdata->getFallbackProperty() to retrieve the Fallback <i>Type</i> and Fallback <i>Property</i>. Fallback to <i>Thing Type</i> if the <i>Type</i> isn't available, Fallback to <i>null</i> the Property if isn't available.
<br>Configura um <i>Tipo</i> e uma <i>Propriedade</i> de reserva, também existem $microdata->getFallbackType() e $microdata->getFallbackProperty() para recuperar o <i>Tipo</i> e a <i>Propriedade</i> de reserva. Substitui pelo <i>tipo Thing</i> se o <i>Tipo</i> não estiver disponível, substitui por <i>null</i> se a propriedade não estiver disponível.
<br>
<br>
<br>
<br>
<code>'''$microdata->displayScope();'''</code><br>
<code>'''$microdata->displayScope();'''</code><br>
Return:
Retorno:
   
   
<source lang="php">
<source lang="php">
Line 231: Line 231:
</source>
</source>


the HTML with the <i>Scope</i> of the current <i>Type</i>, must be inserted inside a tag element.
a html com o <i>Escopo</i> do <i>Tipo</i> atual, deve ser inserida dentro de um elemento tag.


<code>'''$microdata->display($displayType = "", $emptyOutput = false);'''</code>
<code>'''$microdata->display($displayType = "", $emptyOutput = false);'''</code>
Return the Microdata HTML, if the <i>Property</i> isn't available it checks for a Fallback, otherwise return ''.
Retorna a html de microdados, se a <i>Propriedade</i> não estiver disponível, verifica um(a) reserva, caso contrário, retorna ''.


There are 4 types of $displayType:
Existem 4 tipos de $displayType:
* inline
* inline
* span
* span
Line 242: Line 242:
* meta
* meta


<u>This method contains the HTML Microdata display logic</u>,
<u>Este método contém a lógica de exibição de microdados html</u>,
If you specify the <i>$displayType</i> param, the Microdata will be returned the way you specified and expect — to,
Se você especificar o parâmetro <i>$displayType</i>, os microdados serão retornados da maneira que você especificou e espera — para,
Otherwise if the <i>$displayType</i> param is empty it will be processed by the <i>display()</i> method and returned the HTML in the right way, with the expected <i>Property</i> Type (example of expectedTypes = URL, Text, Person ...)
Caso contrário, se o parâmetro <i>$displayType</i> estiver vazio, ele será processado pelo método <i>display()</i> e retornará a html da maneira correta, com o Tipo de <i>Propriedade</i> esperada (exemplo de expectedTypes = URL, Text, Person ...)


— What happens if you call display($displayType = "meta") ?
— O que acontece se você chamar display($displayType = "meta") ?


The returned HTML will be inside a <meta> HTML tag.
A html retornada estará dentro de uma tag html <meta>.


— What happend if you call display()?
— O que acontece se você chamar display()?


The method will automatically check the expected type for the given Property, and will return the right Microdata HTML.
O método verificará automaticamente o tipo esperado para a propriedade fornecida e retornará a html de microdados correta.


There are 3 types of Microdata:
Existem 3 tipos de microdados:


* nested → example:  
* aninhado → exemplo:  
<source lang="php">
<source lang="php">
itemprop="$property" itemscope itemtype="http://schema.org/$scope"</source>
itemprop="$property" itemscope itemtype="http://schema.org/$scope"</source>


if there is also available a $content it will output
se também estiver disponível um $content, isso produzirá
<source lang="php">
<source lang="php">
<span itemprop="$property" itemscope itemtype="http://schema.org/$scope">$content</span></source>
<span itemprop="$property" itemscope itemtype="http://schema.org/$scope">$content</span></source>
* meta → example:
* meta → exemplo:
<source lang="php">
<source lang="php">
<meta content="$content" itemprop="$property"></source>
<meta content="$content" itemprop="$property"></source>
if no $content is available will output
se nenhum $content estiver disponível, será gerado
<source lang="php">
<source lang="php">
itemprop="$property"</source>
itemprop="$property"</source>


* normal → example:
* normal → exemplo:
<source lang="php">
<source lang="php">
itemprop="$property"</source>
itemprop="$property"</source>
if there is available a $content will output
se estiver disponível um $content, será gerado
<source lang="php">
<source lang="php">
<span itemprop="$property">$content</span></source>
<span itemprop="$property">$content</span></source>


For some usage examples you can see the library test file https://github.com/joomla/joomla-cms/blob/master/tests/unit/suites/libraries/joomla/microdata/JMicrodataTest.php
Para alguns exemplos de uso, você pode ver o arquivo de teste da biblioteca https://github.com/joomla/joomla-cms/blob/master/tests/unit/suites/libraries/joomla/microdata/JMicrodataTest.php


==How To implement Microdata yourself==
==How To implement Microdata yourself==
Line 283: Line 283:


<noinclude>
<noinclude>
[[Category:Search Engine Optimisation]]
[[Category:Search Engine Optimisation/pt-br]]
</noinclude>
</noinclude>

Latest revision as of 02:21, 7 April 2022

Content is Incomplete

This article or section is incomplete, which means it may be lacking information. You are welcome to assist in its completion by editing it as well. If this article or section has not been edited in several days, please consider helping complete the content.
This article was last edited by Gkiyoshinishimoto (talk| contribs) 4 years ago. (Purge)

Joomla! 
≥ 3.2

O que são microdados

Os microdados são uma forma de adicionar informações contextuais ao seu site e ao seu conteúdo, permitindo que os mecanismos de buscas compreendam melhor as informações que você fornece.

As informações contextuais permitem que os mecanismos de pesquisas entendam o significado das informações apresentadas em seu site, o que permite responder melhor a consultas de "linguagem natural" mais detalhadas, onde a compreensão do significado ajuda a interpretar o conteúdo mais relevante a ser exibido.

Os microdados podem ser usados para explicar praticamente qualquer coisa que você queira explicar, e há mais "esquemas" sendo adicionados regularmente. Existem vários vocabulários, mas atualmente o sistema preferido pelos mecanismos de buscas é o de schema.org.
Para entender como os mecanismos de pesquisas usam as informações dos microdados, veja este pequeno vídeo.

Roteiro do Joomla! 3.x para os microdados

A versão 3.2 introduziu a biblioteca JMicrodata, parte de um dos muitos projetos bem-sucedidos enviados durante o GSoC 2013 e a versão 3.3 introduziu elementos de microdados em dois dos esquemas do componente principal. Para a versão 3.4, pretendemos continuar refinando a biblioteca JMicrodata para garantir que seja flexível e fácil de usar para usuários de todos os níveis de habilidade e continuar implementando elementos de microdados em esquemas principais.

Como utilizo os microdados?

Os microdados podem ser adicionados ao Joomla! usando sobreposições de modelos ou com o uso de plugins que permitem inserir microdados em recursos específicos.
A partir do Joomla! Joomla 3.2 existe uma biblioteca dentro do Joomla! que permite que os desenvolvedores extraiam microdados sem precisar formatá-los corretamente.

JMicrodata

A JMicrodata é uma biblioteca para implementar e produzir a semântica de microdados de http://schema.org.

A biblioteca foi projetada com esses objetivos em mente:

  1. Ter a possibilidade de alternar os tipos de microdados dinamicamente, basta alterar os tipos (há 558 tipos diferentes disponíveis);
  2. exibir semântica validada, a biblioteca cuida para exibir os dados corretamente;
  3. habilitar/desabilitar a semântica dos microdados;
  4. reservas, você nunca deve perder qualquer semântica significativa;

A classe JMicrodata usa o arquivo types.json que contém todos os tipos e propriedades de http://schema.org disponíveis, esse arquivo foi criado automaticamente com o rastreador web de https://github.com/PAlexcom/Spider4Schema.

Como uso a biblioteca JMicrodata?

Antes de tudo, você precisa criar uma instância da biblioteca em suas extensões:

<?php
$microdata = new JMicrodata('Article');
?>

Então, vamos supor que você tenha a seguinte string que faz parte do seu artigo:

<div>
    <!-- Author of the content -->
    <span>
        Written by Alexandru Pruteanu
    </span>
    <!-- The content -->
    Here is the article text...
<div>

E você deseja adicionar semântica de microdados e configurar o tipo de escopo atual como Article:

<?php
$microdata = new JMicrodata('Article');
?>

<div <?php echo $microdata->displayScope();?>>
    <!-- Author of the content -->
    <span>
        Written by <?php echo $microdata->content('Alexandru Pruteanu')->property('author')->fallback('Person', 'name')->display();?>
    </span>
    <!-- The content -->
    <?php echo $microdata->content('Here is the article text...')->property('articleBody')->display();?>
<div>

A biblioteca exibirá:

<div itemscope itemtype='https://schema.org/Article'>
    <!-- Author of the content -->
    <span>
        Written by
        <span itemprop='author' itemscope itemtype='https://schema.org/Person'>
            <span itemprop='name'>Alexandru Pruteanu</span>
        </span>
    </span>
    <!-- The content -->
    <span itemprop='articleBody'>Here is the article text...</span>
<div>

O que acontece se o escopo atual for diferente de Article, por exemplo, um escopo Product, e o escopo atual não tiver uma propriedade Author e articleBody?

<?php
$microdata = new JMicrodata('Product');
?>

<div <?php echo $microdata->displayScope();?>>
    <!-- Author of the content -->
    <span>
        Written by <?php echo $microdata->content('Alexandru Pruteanu')->property('author')->fallback('Person', 'name')->display();?>
    </span>
    <!-- The content -->
    <?php echo $microdata->content('Here is the article text...')->property('articleBody')->display();?>
<div>

Como você adicionou um substituto ->fallback('Person', 'name'), ele retornará ao tipo Person e você não perderá nenhuma semântica significativa .

<div itemscope itemtype='https://schema.org/Product'>
    <!-- Author of the content -->
    <span>
        Written by
        <span itemscope itemtype='https://schema.org/Person'>
            <span itemprop='name'>Alexandru Pruteanu</span>
        </span>
    </span>
    <!-- The content -->
    Here is the article text...
<div>

Se você não precisar de todas essas informações dos microdados, basta desativar esse recurso chamando: $microdata->enable(false);

<?php
$microdata = new JMicrodata('Product');
$microdata->enable(false);
?>

<div <?php echo $microdata->displayScope();?>>
    <!-- Author of the content -->
    <span>
        Written by <?php echo $microdata->content('Alexandru Pruteanu')->property('author')->fallback('Person', 'name')->display();?>
    </span>
    <!-- The content -->
    <?php echo $microdata->content('Here is the article text...')->property('articleBody')->display();?>
<div>

A biblioteca exibirá o seguinte:

<div>
    <!-- Author of the content -->
    <span>
        Written by Alexandru Pruteanu
    </span>
    <!-- The content -->
    Here is the article text...
<div>

Documentação da JMicrodata

Todas as saídas html dos microdados são tratadas pela classe JMicrodata.

JMicrodata::htmlScope($scope);
Retorno:

itemscope itemtype="http://schema.org/$scope"

o Escopo html do Tipo fornecido, deve estar dentro de um elemento de tag html.

JMicrodata::htmlProperty($property);
Retorno:

itemprop="$property"

a html da Propriedade fornecida, deve estar dentro de um elemento de tag html.

JMicrodata::htmlSpan($content, $property = "", $scope = "", $inverse = false);
Retorno:

<span itemscope itemtype="http://schema.org/$scope" itemprop="$property">
    $content
</span>

os microdados em uma tag , também está disponível um método JMicrodata::htmlDiv() com as mesmas funcionalidades.

JMicrodata::htmlMeta($content, $property, $scope = "", $inverse = false);
Retorno:

<meta $property $scope content="$content">

os microdados em uma tag <meta> com o conteúdo para máquinas, esse método não adiciona a metatag na seção <head> da página.

$microdata = JMicrodata($type = "", $flag = true);
Cria uma nova instância da classe JMicrodata e configura o Tipo atual, o parâmetro flag é para habilitar ou desabilitar a saída semântica de microdados html. Substitui para o tipo Thing se o tipo não estiver disponível ou não for fornecido.

$microdata->enable($flag = true);
Habilita ou desabilita a saída semântica de microdados html.

$microdata->isEnabled();
Retorna true se a saída html da semântica de microdados estiver habilitada.

$microdata->setType($type);
Define um novo Tipo de Schema.org, também há uma função $microdata->getType() para recuperar o Tipo atual.

$microdata->property($name);
Configura a Propriedade se disponível no escopo do Tipo atual, há também uma função $microdata->getProperty() para recuperar a Propriedade atual.

$microdata->content($value, $machineValue = null);
Configura um Valor de texto ou Valor de conteúdo para os microdados, também há uma função $microdata->getContent() para recuperar o valor de texto atual .

$microdata->fallback($type, $property);
Configura um Tipo e uma Propriedade de reserva, também existem $microdata->getFallbackType() e $microdata->getFallbackProperty() para recuperar o Tipo e a Propriedade de reserva. Substitui pelo tipo Thing se o Tipo não estiver disponível, substitui por null se a propriedade não estiver disponível.

$microdata->displayScope();
Retorno:

itemscope itemtype="http://schema.org/$scope

a html com o Escopo do Tipo atual, deve ser inserida dentro de um elemento tag.

$microdata->display($displayType = "", $emptyOutput = false); Retorna a html de microdados, se a Propriedade não estiver disponível, verifica um(a) reserva, caso contrário, retorna .

Existem 4 tipos de $displayType:

  • inline
  • span
  • html
  • meta

Este método contém a lógica de exibição de microdados html, Se você especificar o parâmetro $displayType, os microdados serão retornados da maneira que você especificou e espera — para, Caso contrário, se o parâmetro $displayType estiver vazio, ele será processado pelo método display() e retornará a html da maneira correta, com o Tipo de Propriedade esperada (exemplo de expectedTypes = URL, Text, Person ...)

— O que acontece se você chamar display($displayType = "meta") ?

A html retornada estará dentro de uma tag html <meta>.

— O que acontece se você chamar display()?

O método verificará automaticamente o tipo esperado para a propriedade fornecida e retornará a html de microdados correta.

Existem 3 tipos de microdados:

  • aninhado → exemplo:
itemprop="$property" itemscope itemtype="http://schema.org/$scope"

se também estiver disponível um $content, isso produzirá

<span itemprop="$property" itemscope itemtype="http://schema.org/$scope">$content</span>
  • meta → exemplo:
<meta content="$content" itemprop="$property">

se nenhum $content estiver disponível, será gerado

itemprop="$property"
  • normal → exemplo:
itemprop="$property"

se estiver disponível um $content, será gerado

<span itemprop="$property">$content</span>

Para alguns exemplos de uso, você pode ver o arquivo de teste da biblioteca https://github.com/joomla/joomla-cms/blob/master/tests/unit/suites/libraries/joomla/microdata/JMicrodataTest.php

How To implement Microdata yourself