我有一个包含新闻文章的网站,我试图使用schema.org的结构化数据。它说public class RecAdapter extends RecyclerView.Adapter<RecAdapter.RecHolder>{
Context context;
ArrayList<Informacije> data;
LayoutInflater inflater;
ImageLoader imageLoader = AppController.getInstance().getImageLoader();
public RecAdapter(Context context, ArrayList<Informacije> data, LayoutInflater inflater){
this.context = context;
this.data = data;
this.inflater = LayoutInflater.from(context);
}
@Override
public RecHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.list_item, parent, false);
RecHolder holder = new RecHolder(view);
return holder;
}
@Override
public void onBindViewHolder(final RecHolder holder, int position) {
holder.bandImage.setImageUrl(data.get(position).getUrl(), imageLoader);
holder.artistName.setText(data.get(position).getArtist());
holder.songName.setText(data.get(position).getTitle());
holder.informacije = data.get(position);
holder.webStranica.loadUrl(data.get(position).getWebStranicaArtista());
Log.i("ok rec", "ok recycler");
final RecHolder finalRecHolder = holder;
holder.container.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(context, Details.class);
Bundle mBundle = new Bundle();
mBundle.putSerializable("eventObj", finalRecHolder.informacije);
i.putExtras(mBundle);
context.startActivity(i);
}
});
}
@Override
public int getItemCount() {
return data.size();
}
class RecHolder extends RecyclerView.ViewHolder{
TextView artistName, songName, listeners, duration;
Informacije informacije;
NetworkImageView bandImage;
RelativeLayout container;
WebView webStranica;
public RecHolder(View itemView) {
super(itemView);
bandImage = (NetworkImageView) itemView.findViewById(R.id.imageViewSlikaNaListi);
artistName = (TextView) itemView.findViewById(R.id.textViewImeBenda);
songName = (TextView) itemView.findViewById(R.id.textViewImePjesme);
duration = (TextView) itemView.findViewById(R.id.textViewDuration);
listeners = (TextView) itemView.findViewById(R.id.textViewListeners);
container = (RelativeLayout) itemView.findViewById(R.id.container);
webStranica = (WebView) itemView.findViewById(R.id.webViewStranicaArtista);
}
}
}
属性是必需的,但我不知道它应该保留什么。
在新闻报道中,文章标题应位于name
属性下,作者名称位于headline
下。所以有点不清楚author
财产还剩下什么?
Schema.org唯一要说的是,它应该是&#34;项目的名称&#34;,并且该值应该是文本类型。该项目的名称是它的标题..但这似乎是重复内容,谷歌有时可怕的惩罚重复内容的政策。所以我不确定该怎么做。
答案 0 :(得分:5)
首先,Schema.org不需要name
(或任何其他)属性
您可能正在谈论Google对其搜索结果功能的要求(如果您不遵循他们的要求,则不会获得该功能;没有其他任何事情发生),和/或AMP规范确实需要(请参阅{ {3}})。
their issue about headline
vs. name
在许多情况下会与headline
property具有相同的值。对同一内容使用这两个属性是完全正确的(在微数据中:itemprop="headline name"
;在RDFa中:property="headline name"
;在JSON-LD中,您必须第二次提供该值。谈论&#34;重复内容&#34;是两个或多个具有相同内容的页面,而不是两个或多个具有相同内容的属性。
前段时间(name
property和#423)讨论了弃用headline
并建议作者使用name
代替,但这并未发生(尚)。