最後の「開発者」は、ソフトウェアエンジニア、コーダー、プログラマー、フロントエンド開発者、バックエンド開発者、そして様々なITプロフェッショナルを包括する包括的な用語です。彼らは、ウェブサイトを構成し、その基盤となる様々なウェブテクノロジーをコードで記述したり、一般的に管理したりする人々です。
SEO 担当者としての役割において、C++ や Java などのプログラミング言語、PHP や JavaScript などのスクリプト言語、HTML、XML などのマークアップ言語、またはスタイルシート言語 CSS を完全に習得することが現実的かどうかはわかりません。
さらに、プログラミング言語、スクリプト言語、マークアップ言語は数多く存在します。SEO ではなくフルタイムのプログラマーとして働く場合でも、あらゆる種類の言語をマスターするのは至難の業です。
しかし、SEO専門家として、Webを構成する様々な言語、テクノロジー、そしてテクノロジースタックを理解することは不可欠です。SEOの推奨事項を作成する際には、どの開発者が実行する可能性が高いか、彼らの考え方、問題点、仕事内容を理解し、彼らの言葉で説明できる必要があります。
開発者が知っていることすべてを知る必要はありませんが、開発者が何をしているかをよく理解しておく必要があります。そうすることで、開発者の心に響くようなよりよい質問をしたり、SEO の推奨事項を提供したりすることができ、結果としてそれらの推奨事項が実行される可能性が高くなります。
彼らの言語を話し、彼らの世界がどのようなものかを理解する時、あなたは、全員が同じ側のロープを引っ張って同じ前向きな結果を目指す協力的な環境に貢献していることになります。
もちろん、協力的な関係を構築すること以外にも、プロの SEO には多くの技術的な調査作業や問題の検出と予防が含まれるため、Web テクノロジーのさまざまな側面を理解することはオプションではなく必須です。
Web 技術は複雑で難しいものですが、このガイドが皆さんの理解を少し楽にし、理解の空白を埋めるのに役立つことを願っています。
さっそく飛び込みましょう!
インターネット vs. ワールドワイドウェブ
ほとんどの人はこれらの用語を同じ意味で使用しますが、技術的には、これら 2 つの用語は関連しているものの、同じ意味ではありません。
インターネットは、独立した相互接続されたコンピューターの分散型ネットワークとして始まりました。
米国国防総省は長期にわたって関与し、初期のパケット交換ネットワークであり、TCP/IP(伝送制御プロトコルおよびインターネット プロトコル)を初めて使用した ARPANET(高等研究計画局ネットワーク)プロジェクトの開発などの契約を締結しました。
ARPANETプロジェクトは「インターネットワーキングさまざまなコンピューター ネットワークを結合して、より大きな「ネットワークのネットワーク」にすることができます。
ワールド ワイド ウェブの開発は、1980 年代のイギリスのコンピュータ科学者ティム ベナーズ リー卿によるものとされています。彼はハイパーテキスト ドキュメントのリンクを考案し、インターネットの「上」に構築された情報共有モデルを生み出しました。
ドキュメント(Web ページ)は、「HTML」(Hypertext Markup Language)と呼ばれるマークアップ言語でフォーマットされるように指定されており、「ハイパーリンク」を使用して相互にリンクすることができ、ユーザーはハイパーリンクをクリックして他の Web ページに移動できます。
Webホスティング
ウェブホスティング、または略してホスティングとは、個人や企業がインターネット上にウェブページやウェブサイトを公開できるようにするサービスです。ホスティング会社は「サーバー」と呼ばれるコンピューター群を所有しており、これらは皆さんが普段使っているコンピューターと性質が全く異なるわけではありませんが、もちろん違いもあります。
ウェブホスティングに加えて、さまざまなサービスを提供するさまざまな種類のウェブホスティング会社があります。このようなサービスには、ドメイン名登録、ウェブサイトビルダー、電子メールアドレス、ウェブサイトセキュリティサービスなどが含まれます。
簡単に言えば、ホストは Web サイトが公開される場所です。
Webサーバー
ウェブサーバーは、ウェブドキュメントやリソースを保存するコンピューターです。ウェブサーバーは、クライアント(ブラウザ)からウェブページや画像などのリクエストを受け取ります。ウェブページにアクセスすると、ブラウザはそのウェブページをブラウザで表示するために必要なすべてのリソースやファイルをリクエストします。リクエストの流れは次のようになります。
クライアント(ブラウザ)からサーバーへ: 「このウェブページが欲しいのですが、そのページに必要なテキスト、画像、その他の資料をすべて提供してください。」
サーバーからクライアントへ: 「さて、ここにあります。」
サーバーの速度や要求されているさまざまなファイルのサイズなど、さまざまな要因が Web ページの表示 (レンダリング) 速度に影響します。
最もよく遭遇するサーバーの種類は次の 3 つです。
- Apacheはオープンソースのフリーソフトウェアで、Linuxを含む多くのオペレーティングシステムと互換性があります。よく使われる略語は「LAMPスタック」で、Linux、Apache、MySQL(リレーショナルデータベース)、PHP(サーバーサイドスクリプト言語)をバンドルしたものを指します。
- IISは「Internet Information Services」の略で、Microsoftが開発したプロプライエタリソフトウェアです。IISサーバーはWindows NTオペレーティングシステム上で動作するため、「Windows Server」と呼ばれることがよくあります。
- NGINX(発音は「エンジンX」)は、ロードバランシングやリバースプロキシなどにも使用できる高性能サーバーとして宣伝されています。その目標と存在意義には、他の種類のサーバーよりも優れたパフォーマンスを実現することが含まれています。
サーバーログファイル
ログファイル(多くの場合「ログファイル」と略される)は、ウェブページや画像などの関連リソースへのリクエストに対するサーバーアクティビティの記録です。一部のサーバーでは既にこのアクティビティを記録するように設定されている場合もありますが、そうでない場合は設定が必要です。
ログ ファイルは、Web サイトで何が起こっているかの「現実」であり、要求されたページまたはファイル、要求の日時スタンプ、要求を行ったユーザー エージェント、応答の種類 (見つかった、エラー、リダイレクトされたなど)、リファラー、および処理されたバイト数やクライアント IP アドレスなどの他のいくつかの項目などの情報が含まれます。
SEO担当者はログファイルの解析に慣れておく必要があります。このトピックについて詳しくは、JafSoftによるウェブサーバーログファイルのサンプルの説明をご覧ください。
FTP
FTPはFile Transfer Protocol(ファイル転送プロトコル)の略で、ウェブページ、画像、XMLサイトマップ、robots.txtファイル、PDFファイルなどのリソースファイルをウェブホスティングアカウントにアップロードし、ブラウザ経由でウェブ上で閲覧できるようにする方法です。この目的に使用できる無料のFTPソフトウェアプログラムがあります。
インターフェースはお馴染みのファイルフォルダツリー構造で、左側にローカルマシンのファイル、右側にリモートサーバーのファイルが表示されます。ローカルファイルをサーバーにドラッグ&ドロップしてアップロードすれば、あっという間にインターネットにファイルをアップロードできます!さらに詳しい情報については、Wired誌のFTP初心者向けガイドをご覧ください。
ドメイン名
ドメイン名は(通常は)テキスト文字列で、URL(Uniform Resource Locator)で使用されます。簡単に言うと、https://www.website.com というURLの場合、「website」がドメイン名となります。
ルートドメインとサブドメイン
ルートドメインとは、一般的にドメイン名として認識されているもので、例えばhttps://www.website.comのようなURLの「website」にあたります。サブドメインとは、URLのwww.の部分です。サブドメインの他の例としては、news.website.com、products.website.com、support.website.comなどが挙げられます。
ドメインとサブドメインの違いについて詳しくは、こちらをご覧ください。
URLとURI
URL は「Universal Resource Locator」(https://www.website.com/this-is-a-page など)の略で、URI は「Uniform Resource Identifier」の略で、完全な URL のサブセットです(/this-is-a-page.html など)。
HTML、CSS、およびJavaScript
ここで HTML、CSS、JavaScript をまとめてグループ化したのは、それぞれに独自のセクションを設ける価値がないからではなく、これら 3 つの言語が現代の Web ページのコーディング方法の多くを構成しているということを SEO 担当者が理解しておくとよいからです (もちろん例外もたくさんありますが、そのうちのいくつかはここで別の場所で説明します)。
HTML は「Hypertext Markup Language」の略で、World Wide Web 上の Web ページの元の基礎となる言語です。
CSS は「Cascading Style Sheets」の略で、Web ページ上の HTML 要素のスタイル設定と配置に使用されるスタイルシート言語であり、プレゼンテーションとコンテンツの分離を可能にします。
JavaScript(プログラミング言語「Java」と混同しないでください)は、Web ページ上でインタラクティブな機能を作成するためのクライアント側スクリプト言語です。
AJAXとXML
AJAXは「Asynchronous JavaScript And XML」の略です。非同期とは、クライアント/ブラウザとサーバーが独立して動作し、通信できるため、ユーザーはサーバー側の状況に左右されずにウェブページを操作し続けることができます。JavaScriptは非同期サーバーリクエストの作成に使用され、サーバーが応答すると、ユーザーに表示されるページコンテンツが変更されます。サーバーからクライアントに非同期で送信されるデータはXML形式でパッケージ化されるため、JavaScriptで簡単に処理できます。これにより、クライアントとサーバー間のトラフィックが削減され、応答時間と速度が向上します。
XMLは「Extensible Markup Language(拡張マークアップ言語)」の略で、タグ、要素、属性を使用するHTMLに似ており、データの保存と転送の両方を目的として設計されています。一方、HTMLはデータの表示に使用されます。SEO対策において、XMLはXMLサイトマップファイルで最もよく使用されます。
構造化データ(別名、Schema.org)
構造化データとは、ページのHTMLに追加できるマークアップで、検索エンジンがページのコンテンツ、または少なくともページの特定の要素をより適切に理解するのに役立ちます。承認された標準形式を使用することで、検索エンジンがページ上の関連データを解析しやすくなる追加情報を提供できます。
構造化データの一般的な用途は、レシピ、文学作品、製品、場所、さまざまな種類のイベントなどの特定の側面をマークアップすることです。
Schema.orgは、Google、Bing、Yahoo(その後すぐにYandexも参加)による共同プロジェクトとして、ウェブページ上の構造化データマークアップのための合意に基づく標準化された共通スキーマセットの作成を目的として、2011年6月2日に発足しました。それ以来、「Schema.org」という用語は「構造化データ」と同義語となり、Schema.orgの構造化データタイプは継続的に進化しており、比較的頻繁に新しいタイプが追加されています。
構造化データの主な利点の一つは、検索エンジンが情報やデータをより容易に理解できるようにデータの曖昧さを解消するのに役立つこと、そして特定のマークアップ要素によって、レビューの星の数やレシピの調理時間などの追加情報が検索エンジン結果ページ(SERP)に表示される可能性があることです。ただし、構造化データを追加しても、SERPのこうした機能が表示されるとは限りません。
構造化データの語彙は数多く存在しますが、Schema.org ガイドラインに従って構造化データのマークアップを行う方法として Google が推奨する JSON-LD (JavaScript Object Notation for Linked Data) が浮上しました。ただし、マイクロデータや RDFa などの他の形式もサポートされています。
JSON-LD は、既存の HML 要素を囲む必要があるマイクロデータよりもページに追加しやすく、保守や変更も簡単で、エラーが発生しにくいのに対し、JSON-LD は Web ページの HTML ヘッダー セクションに単一のブロックとして追加できます。
フロントエンドとバックエンド、クライアントサイドとサーバーサイド
「私はフロントエンド開発者です」と言う開発者と話して、それがどういう意味なのか疑問に思ったことがあるかもしれません。あるいは、「ああ、それはバックエンド機能ですね」と誰かが言うのを聞いたことがあるかもしれません。これらが何を意味するのか混乱するかもしれませんが、簡単に説明できます。
「フロントエンド」と「クライアントサイド」はどちらも同じ意味です。つまり、ブラウザ内で実行されるということです。例えば、JavaScriptはもともとブラウザ内のウェブページ上で実行されるものとして開発されました。つまり、サーバーへの呼び出しを行う必要がないということです。
「バックエンド」と「サーバーサイド」はどちらも同じ意味です。つまり、サーバー上で実行されるということです。例えば、PHPはサーバーサイドスクリプト言語であり、ブラウザではなくサーバー上で実行されます。WordPressなどの一部のコンテンツ管理システム(CMS)は、ウェブページにPHPベースのテンプレートを使用し、サーバーからコンテンツを呼び出してブラウザに表示します。
プログラミング言語とスクリプト言語
エンジニアと開発者の間では、用語の説明や定義が異なります。最終的には違いはない、あるいは境界線が曖昧だと主張する人もいるでしょう。しかし、プログラミング言語(CやPascalなど)とスクリプト言語(JavaScriptやPHPなど)の一般的な違いは、プログラミング言語は明示的なコンパイル手順を必要とするのに対し、人間が作成した人間が読めるコードは、コンピュータが理解できる特定の機械語命令セットに変換されるという点です。
コンテンツ管理システム(CMS)
CMSとは、ウェブサイト(あるいは「デジタルコンテンツ」という専門用語を使うこともできます)の作成と管理に使用されるソフトウェアアプリケーション、または関連プログラムの集合です。CMSは基本的に、ウェブページ、ブログ投稿、記事の作成、編集、公開、アーカイブに使用でき、通常、さまざまな機能が組み込まれています。
CMS を使用して Web サイトを作成すると、ゼロからコードを作成する必要がなくなります。これが、CMS が幅広い支持を得ている主な理由の 1 つです。
CMS のもう 1 つの共通点はプラグインです。プラグインはコア CMS と統合して、コア CMS 機能リストに含まれていない機能を拡張できます。
一般的な CMS には、WordPress、Drupal、Joomla、ExpressionEngine、Magento、WooCommerce、Shopify、Squarespace などがあり、その他にも多数あります。
コンテンツ配信ネットワーク(CDN)
CDN は「コンテンツ配信ネットワーク」とも呼ばれ、レイテンシ (転送遅延) を削減するために、リクエスト元のクライアントに近いサーバー位置から Web コンテンツを提供することを目的として地理的に分散された大規模なサーバー ネットワークです。
CDNは、Webコンテンツのコピーを複数のサーバーにキャッシュし、Webサイト訪問者に最も近いサーバーが要求されたWebコンテンツを提供します。CDNは、高可用性と高パフォーマンスを実現するために使用されます。
HTTPS、SSL、TLS
ウェブデータは、コードのデータパケットを介してコンピュータ間でやり取りされます。クライアント(ウェブブラウザ)は、サーバーにウェブページをリクエストする際のユーザーインターフェースとして機能します。HTTP(ハイパーテキスト転送プロトコル)は、ブラウザがサーバーと「通信」してリクエストを送信するために使用する通信方法です。HTTPSは、HTTPSの安全なバージョンです(HTTPSは安全なハイパーテキスト転送プロトコルです)。
ウェブサイトの所有者は、ウェブサイトを HTTPS に切り替えることで、ユーザーとの接続をより安全にし、第三者が通信を傍受したり変更したりする「中間者攻撃」のリスクを軽減できます。
SSLは「セキュア・ソケット・レイヤー」の略で、サーバーとブラウザ間の通信を暗号化するための標準的なセキュリティプロトコルです。TLS(トランスポート層セキュリティ)は、SSLの最新バージョンです。
HTTP/1.1 と HTTP/2
ティム・バーナーズ=リーが1989年にHTTPプロトコルを発明した当時、彼が使用していたコンピュータは、今日のコンピュータほどの処理能力とメモリを備えていませんでした。HTTP/1.1を使用してサーバーに接続するクライアント(ブラウザ)は、一連のネットワーク要求・応答トランザクションを通じて情報を受け取ります。これはサーバーへの「ラウンドトリップ」と呼ばれることが多く、「ハンドシェイク」と呼ばれることもあります。
各ラウンドトリップには時間がかかります。HTTPSはSSL/TSLレイヤーを備えたHTTP接続であり、サーバーとのハンドシェイクがさらに必要になります。これらすべてに時間がかかり、レイテンシが発生します。当時十分速かったものが、今では必ずしも十分速くなるとは限りません。
HTTP/2は、HTTP 1.1以来初の新バージョンです。簡単に言うと、HTTP/2では、多重化、圧縮、リクエストの優先順位付け、そしてサーバープッシュ(サーバーがまだリクエストされていないリソースをクライアントに送信できる機能)を活用することで、サーバーがHTTP/1.1よりも高速に、より多くのリソースをクライアント/ブラウザに配信できるようになります。
アプリケーションプログラミングインターフェイス(API)
アプリケーションとは、簡単に言えば、特定のタスクを実行できるソフトウェアの一種を指す一般的な用語です。アプリケーションには、ソフトウェア、Webブラウザ、データベースなどが含まれます。
APIとは、アプリケーション(通常はデータベース)とのインターフェースです。APIは、リクエストを受け取り、システムに必要な情報を伝え、レスポンスを返すメッセンジャーのようなものです。
レストランで特定の料理を厨房に作ってもらいたい場合、注文を取るウェイターはあなたと厨房の間でコミュニケーションをとるメッセンジャーであり、これは API を使用してデータベースに情報を要求して取得するのと似ています。
AMP、PWA、SPA
今日、ウェブサイトを構築したい場合、選択肢はたくさんあります。
コンテンツ配信には HTML、ルックアンドフィールには CSS、インタラクティブ要素には JavaScript を使用して、ゼロから構築できます。
または、WordPress、Magento、Drupal などの CMS (コンテンツ管理システム) を使用することもできます。
または、AMP、PWA、SPA を使用して構築することもできます。
AMP Accelerated Mobile Pages(AMP)は、Googleが主導するオープンソースの取り組みで、HTMLタグと様々な機能コンポーネントの仕様セットで構成されており、常に進化を続けています。AMPの利点は、AMP仕様に従ってコーディングすることでウェブページの読み込み速度が飛躍的に向上することです。欠点としては、一部の機能が現在サポートされていない可能性があること、そして適切なアナリティクストラッキングに問題があることが挙げられます。
PWA(プログレッシブウェブアプリ)は、従来のウェブサイトとモバイルアプリの両方の長所を融合させたものです。PWAは、プッシュ通知、オフラインでの作業、モバイル端末へのスタートアイコンの表示など、ネイティブアプリのようなエクスペリエンスをユーザーに提供します。
PWAは、クライアントとサーバー間の通信に「サービスワーカー」を使用することで、高速に読み込まれるウェブページとネイティブのモバイルアプリのような動作を同時に実現します。ただし、PWAはJavaScriptフレームワークであるため、いくつかの技術的な課題に直面する可能性があります。
SPA(シングルページアプリケーション)は、ユーザーがセッション中にサーバーとの繰り返しの通信を通じてリクエストした各ページを読み込む従来のウェブページとは異なります。一方、SPAはブラウザ内で実行され、ユーザーセッションで表示される新しいページは、サーバーリクエストによるページの再読み込みを必要としません。
SPAの主なメリットは、開発の合理化と簡素化、そして非常に高速なユーザーエクスペリエンスです。主なデメリットは、検索エンジンがJavaScriptで提供されるコンテンツを解析する能力に一貫性がないため、SEOに問題が生じる可能性があることです。また、問題のデバッグが困難になり、開発者の時間を浪費する可能性もあります。
これらの各 Web テクノロジーの将来的な成功は、最終的には開発者の採用にかかっていることに留意する価値があります。
結論
もちろん、Web テクノロジーのあらゆる部分を十分な詳細さでカバーするには非常に長い本が必要になりますが、このガイドは、SEO のプロフェッショナルであるあなたに、Web テクノロジーのさまざまな重要な側面についての理解の空白を埋めるのに役立つ情報を提供するはずです。
この記事には、さらに詳しく知りたいトピックへの出発点となるリンクを多数掲載しています。robots.txtファイル、meta robotsタグ、rel canonicalタグ、XMLサイトマップ、サーバーレスポンスコードなど、SEO担当者が理解しておくべきトピックは他にもたくさんあることは間違いありません。
_____
by デビッド・ポートニー
出典: 検索エンジンウォッチ






