Rectが強力なJavaScriptライブラリである間、それはあなたが単純な機能を構築するために必要なすべての部分を含まない ウェブサイトのレイアウト 。 NEXTJSは、サーバーレンダリングされたアプリケーションとWebサイトを簡単に構築できるようにするReactフレームワークです。
NextJSには、WebPack、Babel、Dynamic Routing、プリフェッチのような箱から出して箱から出して、いくつかのツールと機能も含まれています。最も重要なことに、私はNEXTJSが非常にSEOに優しいことを発見しました。
このフレームワークを使用すると、サーバーサイドレンダリングを利用できます。これにより、アプリやWebサイトがかなり速くロードされるだけでなく、検索エンジンがクロールするのにはるかに簡単にリクティブWebサイトをもっと簡単にします。
NextJSはまた、使用することによって、よく分割されたサイトアーキテクチャを簡単に作成することを容易にします 動的ルーティング または カスタムサーバールーティング 。たとえば、Webサイトを簡単にセグメント化することができます/ comparty / /製品/、および/ services /より良いコンテンツ構造化のために簡単に。
すべてのものでは、コンポーネントのようなコンポーネント、コンポーネントのプロパティ、コンポーネントの状態が本当に柔軟なオンページ最適化テクニックを実装するために、すべてのコンポーネント、コンポーネントのプロパティとコンポーネントの状態を活用できます。この記事では、反応のために最適化されたヘッドコンポーネントを構築することに細部があります。
このヘッドコンポーネントを構築する方法に入る前に、それが重要なのか、そして最適化することについて最初に話しましょう。
あなたのウェブサイト上の頭部要素は、それが技術的なSEOに関して最も重要なセクションの1つになるでしょう。 1つは、すべてのWebサイトメタデータがヘッドに設定されています。これらのタグには、タイトル、メタの説明、ページキーワード、関連する著者情報とビューポートの設定が含まれます。
head要素は、任意のFacebook OpenGraphタグ(OGタグ)またはTwitterカード、メタロボットのタグなど、他の重要なタグを設定する責任もあります。これらのタグはそれぞれ、さまざまな情報をGoogleまたはSocial Networksに伝える責任があるため、コンテンツをよりよく理解し、索引付け、共有できるようにします。
あなたのウェブサイト上のメタデータが不適切に構成されたメタデータを持つことはあなたの全体的なウェブサイトの最適化に壊滅的なものになることができ、そして間違いなくあなたのランキングを甘やかせることができます
あなたのウェブサイト上のメタデータが不適切に構成されたメタデータを持つことはあなたの全体的なウェブサイトの最適化に壊滅的なものになることができ、順番にあなたのランキングを甘やかせることができます。
たとえば、Webサイトがオンページ最適化の観点から直面することができる最悪の罰則のうち2つは、「重複するタイトルタグ」のペナルティと「重複メタ」のペナルティです。これら2つのタグは、Googleにあなたのウェブサイトの「エレベーターピッチ」を与える責任があります。また、WebサイトがGoogleの検索結果に表示されたときにユーザーが表示するテキストを決定します。
あなたのウェブサイト上のすべてのページが同じ正確なタイトルと同じ正確な説明を設定した場合、Googleはあなたのウェブサイトが何であるかを理解する難しい時間があります。その結果、Googleはあなたのウェブサイトにあまりにも多くの注意を払うつもりはないので、それは間違いなくそれを権威性のある財産と考えることはありません。
あなたがテクニカルオンページの詳細について学ぶことに興味があるなら 、 Speckyboyでの私のアプローチの詳細 。
あなたは頭の要素について少し理解しています、そしてそれがフードの下でそれがとても重要である理由を理解するためのSEOフレンドリーな頭部コンポーネントを構築する方法を見てみましょう。
この記事で詳細に詳細なSEOに優しいヘッドコンポーネントは、NEXTJSに固有のものです。ただし、別のReactフレームワークを使用しているか、Reactを使用している場合は、使用できます。 ヘルメットを反応させる NEXTJSヘッドコンポーネントの代わりに。
最初にやりたいことはあなたの基本的な頭部構造を設定することです。以下のコードは例として機能することができますが、フィットすると同じようにものを追加または削除してください。裸の最小で、あなたの頭にタイトルタグ、メタ記述タグ、正規のURL、そして関連するソーシャルタグを含めるべきです。
<頭>
<<< / title;
次に、コンポーネント用の新しい部分ファイルを作成します。部分ファイルを呼び出すことができます SEO-META.JS. または類似。このファイルはに保存する必要があります 部分的な ディレクトリ。
出発コンポーネントは次のようになります。
「次へ/頭」から頭を輸入する
const meta =(小道具)=&gt。 (
<頭>
<<< / title;
私が通過していることに気付くでしょう prop prop または自分のコンポーネントへのプロパティ。これらのプロパティを使用してメタタグを入力します。
基本コンポーネントを設定したら、ページにインポートすることができます。次のページの上部にあるコンポーネントをインポートできます。
'../partials/seo-meta.js'
からメタを輸入する
ネイティブNETURESTJSヘッドコンポーネントと同じように、メタコンポーネントをレンダリング関数内に配置できます。
あなたがあなたのメタデータに必要なプロパティを設定したいあなたのメタコンポーネントをインポートして配置したので、あなたはあなたのメタデータに必要なプロパティを設定します。通常、ページごとにタイトル、説明、およびURLを含める必要がありますが、必要に応じて画像やその他のデータを含めることもできます。
必要に応じて、CSSファイルとJavaScriptファイルのプロパティを含めることもできます。これらのプロパティが設定されていると、コンポーネントは次のようになります。
メタ
title = "これはタイトルですウェブサイト名
desc = "これは説明です"
Canonical = "https://www.someurl.com"
CSS = '/ static / css / styles.css'
JS = '/ static / js / scripts.js'
/ gt;
NextJSを使用して静的Webサイトを構築するだけであれば、プロパティを静的コンテンツで入力できるはずです。ただし、動的ルートからページをロードしてページテンプレートを動的コードで入力すると、これらのプロパティを動的に設定する必要があります。
私たちのウェブサイト、 固有名詞 また、WordPress APIをデータソースとして使用しますが、ほとんどRESTまたはGRAPHQL APIを使用して以下の手順を使用できます。
ページを要求するときは、関連するメタデータとページデータをつかみたいと思うでしょう。 getInitialProps()非同期 関数。これにより、Googleおよび他のロボットが情報をクロールできるように、レンダリング関数内の動的データを使用することができます。
データソースと他のいくつかの要因に応じて、最初のプロパティを取得するための異なるアプローチを取ることができますが、これはあなたが始めるための基本的なアプローチです。
静的非同期getInitialProps(CTX){
const res = await fetch( '// api.some-url.com/case_studies/?slug=' + ctx.req.params.slug)
const error_code = res.statuscode&gt。 200? res.statuscode:false;
const data = asit.json();
url = 'https://' + ctx.req.headers.host + '/' + ctx.req.params.slugを使用します。
meta_title =データを待つ .meta_title.
meta_desc =データを待つ .meta_desc.
戻る{
エラーコード、
case_study:データ、
meta_title:meta_title、
META_DESC:META_DESC、
URL:URL
}
}
レンダリング関数内で設定したプロパティにアクセスできるようになりました。あなたのコードで使用されるとき、彼らはこのようなものを見るでしょう。
メタ
title = {this.props.meta_title}
desc = {this.props.meta_desc}
Canonical = {this.props.url}
CSS = '/ static / css / styles.css'
JS = '/ static / js / scripts.js'
/ gt;
最後のステップは、それが渡されているプロパティを使用するようにコンポーネントを設定することです。タイトルや説明のようなプロパティの一部はすべてのページに設定されますが、CSSやJSなどのものは条件付きである可能性があります。あなたのコンポーネントでこれを考慮したいと思うでしょう。
この例では、引数を使用してコンポーネントにプロパティを渡しています。 prop prop 。その後、個々の小道具に名前を使ってアクセスできます。 props.title. または Props.Desc. 。
条件付きブロックを設定するときは、次のようなアプローチを取ります。
{
Props.css&&
< link rel = "スタイルシート" href = {`$ {props.css}`} / gt;}
このようにして、CSSセットがない場合は、ページに空のリンクタグを設定しません。これと同じアプローチをJavaScriptファイルに使用できます。
あなたがあなたのヘッドコンポーネントの詳細を終えたら、次のようになります。
「次/頭」から頭を輸入する
const meta =(小道具)=&gt。 (
<頭>
< title> {props.title}< / title;
< Meta Name = "説明" Content = {props.desc} / gt;
< meta property = "og:type" content = "Webサイト" / gt;
< meta name = "og:title" property = "og:title" content = {props.title} / gt;
< meta name = "og:description" property = "og:description" content = {props.desc} / gt;
< meta property = "og:site_name" content = "固有名詞" / gt;
続きを読む:
Affinity Designerは人気のあるベクトル編集ツールです。 MacとWindowsのバージョンと同様に、セリフ�..
このチュートリアルで、Adobe XDでモバイルアプリのプロトタイプを作る方法を示しています�..
の追加で カラVRプラグイン Nukeには、私たちの360の映像をステッチして合成するための私たちの処分で強力なツールがあります。 ..