Keywords - использовать мета-тег или он уже не работает? Нужно ли заполнять keywords

Viber OUT 03.05.2019
Viber OUT

Поисковые системы используют для определения релевантности, или соответствия, ссылки.

Для правильного использования данного мета - тега необходимо применять только те слова, которые содержатся в самом документе. Использование тех слов, которых нет на странице, не рекомендуется.

Рекомендованное количество слов в мета-теге Keywords - не более десяти. Кроме того, проведенными исследованиями выявлено, что разбивка этого тега на несколько строк влияет на оценку ссылки поисковыми системами в отрицательную сторону.

Список релевантных ключевых слов мета-тега Keywords может быть разделен запятыми или же вы можете использовать пробел. Эти слова должны отражать наиболее важные темы вашего сайта. Старайтесь не повторять одно и то же ключевое слово слишком часто – не более 3-х повторов, включая различные вариации написания. Некоторые поисковики воспринимают частые повторения, как "спам".

Не используйте слова, которые не относятся к теме вашего сайта, это не пойдет на пользу, а может работать против вас. Такие фразы, как, например, "Туры в Одессу" считаются одним ключевым словом , то есть, ключевой фразой .

Когда посетитель вводят запросы в поисковые системы, они используют фразы, чтобы более точно обозначить искомую тему. Так что хорошо подумайте о тех ключевых словах, которые вы будете использовать для привлечения посетителей на ваш сайт.

Размещайте ваши самые важные ключевые слова и фразы в первых 100 символах контента страницы. Везде, где возможно, старайтесь использовать разные ключевые слова и фразы на каждой странице.

Использование заглавных букв не является обязательным, поскольку большинство пользователей Интернета, как правило, используют строчные буквы при подаче запросов, но заглавные буквы можно использовать, когда речь идет о названиях и именах.

Трудно судить, как некоторые поисковые системы реагируют на прописные и строчные буквы, поэтому лучше использовать 3-х кратное повторение слов с различным использованием написания букв.

Мета-тег Keywords становится все менее и менее важным с точки зрения поисковой системы. На самом деле, вы можете получить высокие позиции, вообще ничего не включив в мета-тега Keywords. Тем не менее, чтобы обезопасить себя, желательно включить некоторые ключевые слова в данный мета-тег.

Если вы хотите расширить свои знания по вопросам оптимизации мета-тегов, то рекомендуем познакомиться с размещенными у нас статьями:

Вы должны также включить некоторые общие вариаций ключевых слов, начинающихся как с заглавных, так и с обычных букв. Правила для мета-тега Keywords довольно просты - не повторять ключевые слова более трех раз и не печатать одно и то же ключевое слово одно за другим.

HTML-код мета-тега «keywords» располагается на странице вебресурса следующим образом:




Содержимое мета-тега «title»< /title><br> < /head><br> <body>Основное содержимое страницы< /body><br> < /html> </i></p> <p>Вот, как бы мог выглядеть <i>HTML-код </i> <b>мета-тега Keywords </b> для ключевого слова “Туры в Одессу”:</p> <p><i><meta name="keywords " content=<span>"Туры в Одессу, отдых, туры в Одессу, Дюк, ТУРЫ В ОДЕССУ" </span>> </i></p> <p>Обратите внимание, что я вставил слова "отдых" и "Дюк" только для разделения различных случаев написания <b>ключевого слова </b>.</p> <p>Продвигая свой вебресурс в топ рейтингов или, просто желая увеличить количество посетителей на какую-то страницу, вебмастер может пойти двумя путями: использовать для достижения своей цели малое число ключевых слов с высокой популярностью (высокочастотные запросы) или оптимизировать сайт под большое число ключевых слов, пользующихся значительно меньшей популярностью (низкочастотные запросы). Обычно для достижения большего эффекта совмещаются оба метода.</p> <p>Высокочастотные ключевые слова гарантируют совпадение с наиболее популярными поисковыми запросами пользователей, однако имеют один существенный недостаток – высокий уровень конкуренции. Продвижение сайтов на верхние позиции рейтингов поисковых систем с помощью таких ключей очень сложно, и на это потребуется длительное время и денежные вложения.</p> <p>Использовать низкочастотные запросы значительно легче и проще – достаточно провести элементарную оптимизация контекста продвигаемой страницы или статьи. Причем, оптимизированная под низкочастотные запросы статья, вполне способна значительно увеличить поисковый трафик на нее и поднять рейтинг.</p> <p>В Сети существует достаточно много бесплатных сервисов, которые помогут вам подобрать нужные ключевые слова. Например, вы можете воспользоваться услугами Яндекс Wordstat для этой цели.</p> <p><img src='https://i2.wp.com/vsemproblemam.net/images/SEO/WordstatYandex-keywords.gif' height="511" width="500" loading=lazy></p> <p>Как видно на скриншоте выше, по заданному ключевому слову "туры в одессу" вы получили такие результаты. Здесь же вы видите как высокочастотные, так и низкочастотные запросы.</p> <p>На скриншоте ниже показаны результаты по тому же запросу, но уже по регионам.</p> <p><img src='https://i0.wp.com/vsemproblemam.net/images/SEO/WordstatYandex-regions.gif' width="100%" loading=lazy></p> <p>Как вы видите, данный сервис может оказаться очень полезным инструментом проведения поисковой оптимизации для любого вебмастера.</p> <p>Тема ключевых слов тоже горячо обсуждается, но единого мнения все еще нет, так что вы можете экспериментировать на этом поприще. Ниже приведу мнение уважаемого эксерта в области поисковой оптимизации.</p> <p><b>Мэтт Каттс </b>, глава службы анти-спама Google, развеял слухи по поводу оптимальной плотности ключевых фраз. В своем очередном видео-обращении Мэтт ответил на волнующий многих вебмастеров вопрос по поводу влияния ключевых слов в тексте страниц на ранжирование сайта в поисковой выдаче. Эксперт развеял слухи относительно существования идеальной плотности ключевых слов и посоветовал вебмастерам не заострять на этом особого внимания.</p> <p>Многие владельцы сайтов до сих пор свято верят, что одним из факторов попадания сайта в ТОП поисковой выдачи Google является “волшебное” количество нахождения ключевых слов в контексте страниц. Но, на самом деле, распределение сайтов в выдаче происходит по несколько иным принципам, отметил эксперт.</p> <p>По словам Мэтта Каттса поисковая система, конечно, учитывает наличие ключевых слов в контенте сайта. Многие считают, что если четко следовать одному рецепту, то можно быть первым. Но это не так. Ни 50-55%, ни 7% или 77% не являются пределом. Поисковые машины работают по-другому.</p> <p>Когда робот встречает определенное слово, он думает: «Ух ты, эта статья об этом слове». При следующей встрече: «Ох, речь идет все еще о том же. Это отлично». Но дальше уже эффект будет обратным, и вы рискуете занести страницу в «мусорку». Следует сделать вывод, что, если вы упомянули пару раз ключевые слова, то это, безусловно, поможет вам в ранжировании, но если вы повторите их 7-8 раз, то это не сыграет вам на пользу.</p> <p>Руководитель службы анти-спама Google также порекомендовал вебмастерам при создании SEO-контента обращать внимание на его объем при прописывании ключевых слов. Для начала подберите нужные для страницы ключевые слова. Затем убедитесь, что контент на странице достаточно объемный, чтобы упомянуть слова в естественном виде. Дайте кому-нибудь прочитать текст или сами прочитайте его вслух. Это лучше всего помогает проверить их естественность и слуховое восприятие.</p> <p>Мэтт рекомендует не заходить далеко с употреблением ключевых слов, и надеется, что в скором времени люди перестанут об этом «заморачиваться». Потому что плотность варьируется от тематики сайта, и не существует жестких правил по этому поводу.</p> <p>В завершение Мэтт сказал: «<i>Не верьте тем, кто говорит, что оптимальная плотность ключевых слов существует - это неправда! </i>».</p> <p>Хотите первыми знакомиться с новостями сайта и материалами на интересующие вас темы? Подпишитесь либо на рассылку по RSS-ленте , либо - на Email-адрес и вы всегда будете в курсе происходящего. Удачи!</p> <p>Понравился данный материал? Буду признателен, если вы расскажите о нем друзьям и знакомым, нажав на кнопки тех социальных сетей, где вы зарегистрированы.</p> <p>Часто, проводя время на форумах и в сообществах Веб-мастеров и оптимизаторов, замечаю, как многие задают одни и те же вопросы, начинают спорить на тему – а надо ли заполнять meta теги, в частности keywords? Очень трудно ответить собеседнику в двух словах на этот вопрос, поэтому постараюсь объяснить все «на пальцах», в новой теме.</p> <h1>Нужно ли заполнять keywords</h1> <p>Скажу сразу, что keywords <b>можете заполнять, а можете оставить пустым </b>. В обоих случаях разницы вы не увидите - далее объясню почему. И нет смысла анализировать ТОП-10, логики здесь никакой нет и что-то доказать у вас не получится.</p> <p>В большей степени хочется разобрать вопрос, когда данный тег используют и <b>допускают ошибки </b>. В некоторых случаях они могут только ухудшить видимость вашего сайта.</p> <p>Хорошо, давайте посмотрим, <b>почему не обязательно заполнять </b> meta-тег keywords? Еще в далеком прошлом, когда поисковые алгоритмы были более простыми, нежели сейчас - оптимизаторы заполняли данный тег с целью помочь поисковым системам понять, что находиться на странице или о чем идет речь в тексте.</p> <p>Вскоре, Веб-мастера стали злоупотреблять использованием ключевых слов в данном meta-теге. И со временем, значимость keywords понизили. Сегодня, в достаточном количестве, появились новые факторы ранжирования, <b>более качественные </b>.</p> <p>Да, в документации Яндекса для Веб-мастера , вы прочитаете, что keywords поможет ПС лучше понять содержимое страницы. Но заполнение, не даст вам преимущества перед конкурентами. Так как полезность контента от этого не меняется и <b>«весомым и значимым» тегом keywords считаться не может </b>.</p> <p>Как я уже говорил, работа над сайтом, это ряд действий, которые работают в комплексе. Заполнение тега keywords может стать лишь «маленьким плюсом» в общей работе большой системы.</p> <h2>Частые ошибки использования keywords</h2> <p>И если вы все же решили использовать meta-теги, давайте делать это правильно. Рассмотрим основные ошибки, которые допускают оптимизаторы или Веб-мастера (исполнители). Все варианты, реальные примеры, которые попадались мне при работе с сайтами клиентов.</p> <h3>1. Повторение ключевых слов на всех страницах</h3> <p>При таком раскладе, исполнитель подбирает «общие» ключевые слова, которые описывают тематику всего сайта и вставляет на все страницы.</p> <blockquote> <p>Правило №1: каждая страница вашего ресурса уникальна поэтому keywords должен быть так же уникальным.</p> </blockquote> <h3>2. Спам ключей на одной странице</h3> <p>«Классика жанра» - исполнитель подбирает портянку из «десятка» ключевых слов, используя главный ключ, с использованием различных дополняющих слов и меняя порядок ключей в связке. Больнее смотреть, когда такой вариант используют вместе с первым примером, который я привел вначале.</p> <p><img src='https://i2.wp.com/seo-it-in.ru/images/sites-optimization/spam-v-keywords.png' width="100%" loading=lazy></p> <blockquote> <p>Правило №2: большое число ключевых слов в keywords, может привести только к санкциям от поисковых систем, но никак не сделает ваш сайт лучше. Достаточно использовать 2-3 ключевика.</p> </blockquote> <h3>3. Знаки препинания</h3> <p>Иногда встречается, что каждое слово разделяют запятой. Или же наоборот - ставят слова без запятых, откуда пошла такая тенденция, мне не понятно.</p> <blockquote> <p>Правило №3: ключевое слово, это не обязательно одно слово, чаще это фраза из нескольких слов, которая разделяется запятой.</p> </blockquote> <h3>4. Ключи общего характера</h3> <p>В данном случае используют отдельные слова, которые имеют слишком широкое значение или понятие.</p> <blockquote> <p>Правило №4: дайте ключевым словам больше конкретики, используя фразы.</p> </blockquote> <h3>5. Использование keywords на служебных страницах</h3> <p>Исполнитель использует ключевые слова, на таких страницах, как:</p> <ul><li>контакты;</li> <li>обратная связь;</li> <li>о себе;</li> <li>галерея;</li> <li>и ряд других страниц, у которых нет цели привлечь посетителя.</li> </ul><blockquote> <p>Правило №5: по сути, данные страницы уже являются уникальными и низкочастотными, поэтому использовать ключевые слова, нет необходимости. Более того, используя общие ключевые слова, вы создаете каннибализацию на страницах вашего сайта.</p> </blockquote> <h3>6. Целевое действие на странице</h3> <p>Как известно, поисковые системы делят информацию на сегменты. Допустим исполнитель что-то продает, но в ключе не использует коммерческий ключ.</p> <blockquote> <p>Правило №6: на определенной странице вашего сайта, человек совершает действие: что-то узнает, скачивает, покупает, заказывает, смотрит (фото и видео) и так далее. Используйте ключевые слова по назначению и действию, которое должен совершить пользователь.</p> </blockquote> <h3>7. Ключевые слова с использованием региона</h3> <p>Бывает, что используют ключи с перечислением городов, на коммерческих ресурсах, находящиеся в непосредственной близости, где продается товар или предоставляется услуга.</p> <blockquote> <p>Правило №7: нет необходимости указывать регион в keywords, для этого поисковые системы берут данные из других источников, например, Яндекс.Справочник.</p> </blockquote> <h2>Как правильно заполнять</h2> <p>На этом у меня все, хочу добавить, что сегодня можно использовать на одной странице <b>ключи-синонимы </b>, имеющие одно и тоже смысловое значение для пользователя. Например, <i>заказать суши на дом </i> и <i>доставка суши </i> – смысл при этом не меняется.</p> <p>Подводя итог, если вы сомневаетесь и не знаете, как правильно заполнить keywords, лучше оставьте данный meta-тег пустым.</p> <p>На сегодняшний день, я продолжаю заполнять этот тег. Использую 2-3 ключевика, копируя их с помощью Яндекс.Вордстат – статистика ключевых слов.</p> <p>Если есть что добавить, или у вас свое мнение по данной теме, давайте обсудим в комментариях.</p> <p>We help a variety of clients with their internet marketing and websites, and one question we often get is “How do you add keywords to a website?” You might picture us adding extremely complicated formulas and codes into a computer screen.</p> <p>But the truth is the basics are easier than you might think. We even teach our clients that manage their own business blogs how to keyword their website pages so that they can be found on search engines easier. The goal of this blog article is to teach you some fundamentals on how to add keywords to a website. Not sure you wan"t to put in the time? Take a look at our SEO Services here, we would be happy to help you.</p> <h2>Why Should You Know How to Add Keywords to a Website?</h2> <p>By learning how to add keywords to a website you will be able to keyword your own blogs, website pages, and other internet marketing materials. You will also gain context for why SEO is so important for your business.</p> <h3>How Can Adding Keywords to My Website Help My Business?</h3> <p>Adding keywords to your website helps search engines understand what your website can offer someone searching, and ultimately bring you more qualified traffic. How? With identifiers, like keywords. <b>Without Keywords on your website pages there is no way for a search engine to categorize your website and show it to the right people searching </b>.Think of it this way, a well written paper has a thesis, and supporting arguments that relate to the thesis. Readers of well written papers have a clear understanding of what the subject is and what the paper is about. This is the same theory behind Google and other search engines. In fact two students from Stanford created Google with this same idea in mind.</p> <p>A well made website has a main subject, and often has sub categories that relate to the main subject, and by keywording each of these areas we are able to give a clear picture to search engines, and people searching are able to find you more easily. For example:</p> <p><b>Your Main Subject Might Be: </b> Doughnuts</p> <p><b>Your Sub-Categories or Topics Could Be: </b> Cake, Dougnut Holes, Bars,…</p> <h4>Choosing Keywords for Your Website</h4> <p>Now that you understand the framework of a site and how it matters it’s time to choose keywords. How? We use a number of tools and perform extensive research for our keywords; however one tool that is free is the Google Keyword Tool. Simply input your location information and category, then type in the main subject of your website. The tool will generate a number of keywords, and give you stats like these:</p> <p><b>Competition: </b> (Low, Med, High) This tells you how many people are trying to keyword for that word or phrase. The higher the competition the more difficult it is to rank high in Google for that search term.</p> <p><b>Global Monthly Volume: </b> </span> How many searches are made per month globally for that term.</p> <p><b>Local Monthly: </b> Is determined by the information you put into your search. If you specified your location as the U.S. then it would be the number of monthly searches for that term in the U.S.</p> <p>While this tool is easy to use, all keywords are not treated the same. In fact some keywords bring you more traffic than others, and some might bring you a lot of traffic that never converts. This is why we highly recommend business owners hiring an agency that is educated in SEO and keywording to help them with their internet marketing.</p> <h3>How Many Keywords Do I Need to Add Per Page?</h3> <p>After you have conducted your keyword research you will need to choose <b>one keyword </b> for each of your website pages or blogs. Keywords should be specific to the page topic and relate to your overall website subject.</p> <p><b>Example of Good Keyword Choice: </b></p> <p><i>Main Website Theme: </i> Donut</p> <p><i>Website Page: </i> Maple Donut</p> <p><i>Assigned Keyword: </i> Best Maple Donut </p> <p><b>Example of Bad Keyword Choice: </b></p> <p><i>Main Website Theme: </i> Donut</p> <p><i>Website Page: </i> Maple Donut</p> <p><i>Assigned Keyword: </i> Donut recipes </p> <h3>How to Add Keywords to Your Website Page:</h3> <p>When adding keywords to your website, it is important to include your keyword in 6 places on each page of your website. Including your keyword in these 6 areas will help search engines identify the subject of your page and rank your page in search results.</p> <ol><li>Page Title</li> <li>Meta Description</li> <li>Header</li> <li>Sub Header</li> <li>Body Paragraphs</li> <li>Image Alt Tags</li> </ol><p><b>Page Title & Meta Description: </b></p> <p>Page Titles & Meta Descriptions are a more technical part of keywording your website. However, it is important to recognize how valuable they can be for your internet marketing efforts. What are Page Titles & Meta Descriptions? These parts of your website page actually show up in search results, they are the first impression a searcher gets of your website page.</p> <p><img src='https://i1.wp.com/blog.halfabubbleout.com/hs-fs/hub/215313/file-29901144-png/blog-images/search-example-resized-600.png' align="Center" width="100%" loading=lazy></p> <p>If you do not have access to your website Page Titles or Meta Descriptions then it will be important to check with your website management company that those areas are filled out correctly for SEO.</p> <p><b>Headers: </b></p> <p>Headers are a lot like billboards for search engines. They are one of the biggest ways to show search engines what your main subject is for your page. It is important that you include your entire keyword in your header.</p> <p><b>Sub-Headers: </b></p> <p>Sub-headers are another area to tell search engines what you want the website page to be found for. Think of this area as real-estate, if you don’t try to include your keywords in the sub-header then you are missing out.</p> <p><b>Body Paragraph: </b></p> <p>When writing the body content for your website page you should try to include your keyword, or at least parts of your keyword. Remember to keep your writing natural, search engines will actually penalize you if your writing over stuffs keywords and appears unnatural. When you first try to write with keywords you might find it difficult, but keep practicing! It really does get easier, and you will get better at shaping your content for adding keywords.</p> <p><b>Image Alt Tags: </b></p> <p>Images are a great addition to any webpage, in fact they can even help search engines rank you. Alt tags are essentially a label that you assign to your image so that search engines can read the image. If you don’t use Alt tags for images then search engines will not see it. By keywording these image Alt Tags you are telling search engines "I used a picture and it relates to the subject of my page."</p> <p>There you have it, now you know the basics of how to add keywords to a website. We know it looks daunting, but if you have the time to write your own blogs or website content, then we highly recommend you use some of the tips listed above. These tactics can bring you more traffic to your website, and help qualify your website leads. That means no wasted visits and more customers for your business.</p> <p><i>If you found this article helpful in anyway please ‘share’ it with a friend. </i></p></p> <p>Безусловно, о значении метатегов знает каждый, кто имеет хоть какое-то представление о поисковом продвижении. Все в курсе о важности тегов title, description, h1-h6, alt и других. Никто не отрицает, что они влияют на оптимизацию сайта. Но к одному из тегов поисковые системы относятся неоднозначно - к тегу keywords.</p> <p>В последние годы в Сети развернулась жаркая дискуссия, которая не утихает по сей день: стоит ли вообще использовать метатег keywords? К сожалению, точного ответа до сих пор никто дать не может. Рассмотрим различные точки зрения и попробуем разобраться в данном вопросе.</p> <h5>Что такое keywords?</h5> <p>Keywords - это ключевые слова (не более 20 для одной страницы сайта), соответствующие содержимому страницы.</p> <p>В коде страницы этот метатег выглядит вот так:</p> <p><html> <br><head> <br><metaname="keywords" content="ключевые слова" /> <br></head> <br></html></p> <p>Изначально тег оказывал существенное влияние на релевантность страниц сайта, а следовательно, и на вывод сайта в топовые позиции поисковых систем .</p> <p>Зная об этом, владельцы сайта начали хитрить - злоупотреблять keywords или добавлять большое количество неуместных слов в этот тег. И поисковики достаточно быстро это обнаружили.</p> <h5>Что же происходит сейчас?</h5> <p>Как говорится, из крайности в крайность: в итоге поисковики перестали придавать данному тегу вообще какое-либо значение.</p> <h5>Яндекс</h5> <p>Представители Яндекса заявили о keywords следующее: <i>«… может учитываться при определении соответствия страницы поисковым запросам» </i>.</p> <p>Обратим внимание, что ключевое слово здесь <i>может </i>. Ведь <i>может </i> совсем не значит <i>учитывается </i>.</p> <h5>Google</h5> <p>Система не оставляет никаких сомнений и не дает почвы для размышлений. Тут все лаконично и ясно: <i>«We don’t use keywords meta-tag in a search-ranking», «Google has ignored the keywords meta tag for years and currently we see no need to change that policy» </i>.</p> <p><i>«Мы не используем метатег keywords в поисковом ранжировании», «Google игнорирует метатег keywords в течение многих лет, и в настоящее время нет необходимости менять эту политику» </i>.</p> <h5>Rambler, Yahoo, Mail.ru</h5> <p>Разделяют мнение Гугла и считают, что метатег keywords исчерпал себя. Поэтому совсем не учитывается данными поисковиками.</p> <h5>Но почему многие по-прежнему используют keywords?</h5> <p>Скорее всего, это связано с неоднозначной формулировкой Яндекса о теге. Логика владельцев сайтов такая: если есть надежда, что все-таки Яндекс учтет тег, а Google, Rambler, Yahoo иMail.ru относятся к метатегу нейтрально, то от его заполнения хуже не станет.</p> <h5>А если станет?</h5> <p>Среди оптимизаторов существует мнение, что заполнение тега keywords может принести вред. Если поисковики не учитывают тег как тег, то текст, вписанный в него, считывается как обычный текст сайта. И если данные ключи, вы уже использовали в других тегах и в теле текста, то есть риск «переспамить» страницу ключами. Ну а за переспам (излишнюю тошноту) можно попасть под фильтр.</p> <h5>Точка зрения 1PS</h5> <p>До сих пор мы описывали общую ситуацию и различные мнения по вопросу. У каждого своя точка зрения. Наша заключается в том, что тег keywords лучше не заполнять. Пользы от него точно нет, а вот риск попасть под фильтр все же есть.</p> <p>Лучше продвигать сайт за счет правильного контента, тегов <title>, <H>, <alt>и иных способов технической оптимизации . Кстати, большая часть этих приемов учтена в услуге Поисковое Продвижение .</p> <p>P.S. Удачи вам в продвижении своего ресурса.</p> 28.02.16 11K <p>Одна из самых популярных и необходимых функций на любом сайте – это поиск, реализованный с помощью специальной формы. Этот функционал позволяет посетителям быстро находить на сайте интересующий их контент.</p> <p>Сегодня мы хотим рассказать, как сделать поиск по сайту с помощью специальной формы, которая будет опрашивать таблицы базы данных и выводить информацию о текущих руководителях на сайте. Вы научитесь создавать таблицы базы данных, которая будет содержать в себе информацию о текущем персонале.</p> <p>Разрабатывать формы поиска при помощи PHP , а также познакомитесь с SQL (<span>Structured Query Language </span>) – специальным языком для сбора, записи и модификации информации, содержащейся в базах данных. Перед тем как начать, рекомендуем вам <span>скачать файлы проекта </span>.</p> <p>Что вам понадобится </p> <ul><li>Инструмент для работы с базами данных MySQL .</li> <li>Локальный или удаленный сервер с поддержкой PHP .</li> <li>Текстовый редактор.</li> </ul><h2>Создаем базу данных</h2> <p>Если вы не совсем уверены, что сможете разобраться с базой данных на вашем хостинге, то свяжитесь с хостером для получения соответствующих инструкций или помощи. После того как база данных будет создана, вам нужно будет подключить ее, создать таблицу и записать в нее необходимые данные.</p> <p>Самым популярным инструментом для управления MySQL является PHP My Admin , Этого инструмента будет достаточно для нашего сегодняшнего руководства.</p> <h3>Создание таблицы</h3> <p>Наша таблица должна быть создана в следующем формате:</p> <table style="height: 55px" border="1" width="564"><tr><td>Column Name </td> <td>Data Type </td> <td>Length </td> <td>Null or Not Null </td> <td>Primary key? </td> <td>Auto Increment </td> </tr><tr><td>ID </td> <td>INT </td> <td>1 </td> <td>Not Null </td> <td>Yes </td> <td>Yes </td> </tr><tr><td>FirstName </td> <td>Varchar </td> <td>50 </td> <td>Not Null </td> <td>No </td> <td>No </td> </tr><tr><td>LastName </td> <td>Varchar </td> <td>50 </td> <td>Not Null </td> <td>No </td> <td>No </td> </tr><tr><td>Email </td> <td>Varchar </td> <td>50 </td> <td>Not Null </td> <td>No </td> <td>No </td> </tr><tr><td>PhoneNumber </td> <td>Varchar </td> <td>15 </td> <td>Not Null </td> <td>No </td> <td>No </td> </tr></table><p>Таблица базы данных состоит из столбцов и строк, как в Excel . Первый столбец позволяет идентифицировать данные по имени. Далее идет колонка Data types (тип данных ), которая указывает нам на тип данных, содержащихся в колонке. В поле Length (Длина ) указывается максимальный объем памяти (хранилища ) для столбца таблицы. Мы используем переменные, которые дают больше гибкости. Другими словами, если длина ФИО меньше 50 символов, то будет занята лишь часть отведенного места.</p> <p>И среди данных персонала не может быть пустых значений (<span>null, empty </span>). Первая строка выделена желтым цветом, потому что столбец ID – наш основной ключ. Основной ключ в базе данных гарантирует, что каждая запись будет уникальной. К этой колонке также применен автоинкремент, а это значит, что каждой записи в нашей базе данных будет присваиваться уникальный номер автоматически.</p> <h3>Вносим представителей персонала в таблицу</h3> <p>Как только разберетесь с таблицей, начните заполнять ее данными. 6 записей вполне достаточно, чтобы закрепить в уме процедуру. Ниже предлагаю вам собственный пример:</p> <table style="height: 55px" border="1" width="564"><tr><td>Column ID </td> <td>FirstName </td> <td>LastName </td> <td> Email </td> <td>PhoneNumber </td> </tr><tr><td>2 </td> <td>Ryan </td> <td>Butler </td> <td>ryanbutler@domain.com </td> <td>417-854-8547 </td> </tr><tr><td>3 </td> <td>Brent </td> <td>Callahan </td> <td>brentcallahan@domain.com </td> <td>417-854-6587 </td> </tr></table><h3>Разработка формы</h3> <p>Чтобы создать форму поиска по сайту через Google , откройте любой подходящий текстовый редактор. Я рекомендую воспользоваться бесплатным PSPad . Вы можете использовать любой текстовый редактор, где предусмотрена подсветка синтаксиса. Это в значительной степени облегчит процесс написания и отладки PHP-кода . Создавая страницу для формы поиска, не забудьте сохранить ее в формате .php , иначе PHP-код не будет обрабатываться должным образом. Как только сохраните документ, скопируйте в него следующую разметку:</p> <p><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Поиск контактов:

Детальный поиск контактов

Вы можете искать по имени или фамилии

Если вы знакомы с языком HTML , то тут вам все должно быть понятно как минимум до открывающего тега form . Внутри этого тега находится важнейший элемент всего кода – атрибут action . В качестве действия нашей формы мы указали название нашего файла, а затем применили к нему строку запроса “go ”.

Проверка на соответствие критерию

Когда пользователь вводит имя или фамилию, а затем нажимает кнопку подтверждения, форма передает данные самой себе и добавляет в конце строку запроса “go ”. На данном этапе мы проверяем наличие строки запроса go . Если результат положительный, выводим результаты поиска.

До вывода запрашиваемых результатов нам нужно перепроверить: (1) была ли подтверждена форма, (2) содержит ли строка запроса значение go, (3) был ли поисковой запрос введен в нижнем или верхнем регистре? Если ни одна из проверок не дает положительного результата (true ), то от нас не требуется выполнять какие-либо действия.

Для начала добавим небольшой блок кода PHP поиск по сайту после закрывающего тега :

Сначала мы открываем блок PHP-кода тегом ””.

Любой PHP-код внутри этой пары тегов будет исполняться сервером. Затем мы проверяем, была ли подтверждена форма:

Введите поисковый запрос

"; } ?>

Мы воспользуемся встроенной функцией isset , которая возвращает значение типа bool , и поместим в нее массив $_POST . Логическое выражение в программировании позволяет получить нам либо true , либо false .

Следовательно, если функция возвращает значение true , то форма была подтверждена, и нам нужно продолжить выполнение кода дальше. Если же функция возвращает значение false , то мы выведем сообщение об ошибке. Сохраните весь набранный код в файле search_submit.php .

Введите поисковый запрос

"; } } } ?>

Мы вкладываем еще одно условное логическое выражение внутрь основного, но только в этот раз мы используем массив $_GET вместе со значением “go ”. Сохраните изменения в файле search_go.php .

Теперь нам нужно убедиться, что посетители могут вводить первую букву в строку запроса только в верхнем или только в нижнем регистре. Нам также нужно предусмотреть способ учета критериев поиска, введенных посетителем. Лучше всего проверять введенные посетителем данные с помощью регулярного выражения:

Мы вкладываем еще одно условное логическое выражение внутрь наших двух. На этот раз мы используем регулярное выражение для проверки ввода. Мы используем встроенную функцию preg_match с двумя параметрами: регулярное выражение, и поле формы, к которому должна применяться проверка.

В нашем случае, это будет поле «Имя » (name ). Чтобы извлечь параметры поиска, указанные посетителем, мы создаем переменную $name, и привязываем к ней значение POST с названием поля из формы, которое будет использоваться в SQL-запросе . Сейчас мы реализовали: (1) отправку данных формы, (2) строка запроса включает значение go и (3) посетитель ввел либо заглавную, либо строчную первую букву. И все эти проверки происходят еще до внесения изменений в базу данных. Сохраните все изменения.

Результаты Connect, Select, Query и Return из таблицы базы данных

Чтобы получить данные из таблицы, сначала в скрипте поиска по сайту нужно подключиться к серверу. Для этого мы используем следующий код:

", "") or die (" Я не могу подключиться к базе данных, так как: " . mysql_error()); else{ echo "

Пожалуйста, введите поисковый запрос

"; } } }?>

Мы создаем переменную $db , и привязываем ее к встроенной функции MySQL mysql_connect , которая принимает три параметра: сервер с базой данных (localhost , если вы работаете локально ), логин и пароль.

После этого мы запускаем встроенную PHP-функцию die , которая останавливает дальнейшее выполнение кода, если нет соединения с базой данных. И выводим информацию об ошибке, запуская встроенную функцию MySQL mysql_error , которая вернет причину ошибки. Сохраните файл search_connectdb.php .

Пожалуйста, введите поисковый запрос

"; } } } ?>

Создаем переменную под названием mydb и привязываем ее ко встроенной MySQL-функции mysql_select_db , а затем указываем название базы данных, которую создали ранее. Далее мы опрашиваем таблицу базы данных при помощи SQL-запроса с переменной name, в которой содержатся параметры поиска, введенные посетителем:

Пожалуйста, введите поисковый запрос

"; } } } ?>

При опросе таблицы базы данных мы создаем переменную $sql , и привязываем ее к строке, содержащей SQL-запрос . Мы используем оператор SELECT для извлечения значений из столбцов id , а также имени и фамилии из таблицы contacts . Затем мы используем инструкцию WHERE вместе со значениями имени и фамилии, чтобы сузить поиск.

Вместе с оператором LIKE мы используем знак процента (%) – спецсимвол, который возвращает 0 и более знаков, а также переменную name из строки поиска. В результате LIKE (в сочетании со спецсимволом ) находит любое соответствующее имя в таблице базы данных. Можно описать весь процесс следующим образом: «Мы выбираем имя и фамилию из таблицы contacts , которые соответствуют введенным посетителем ». Сохраните файл search_query.php .

Пожалуйста, введите поисковый запрос

"; } } } ?>

Мы создаем переменную $result , и присваиваем ей значение функции mysql_query () , внося ее в $query. Теперь наш запрос хранится в переменной result . Чтобы вывести результат в PHP , мы создаем цикл, а затем выводим данные в неупорядоченном списке:

n"; echo "

  • " . "
  • n"; echo ""; } } else{ echo "

    Пожалуйста, введите поисковый запрос

    "; } } } ?>

    Сначала мы создаем цикл while , внутри него создаем переменную под названием row , и инициализируем ее возвращаемым значением функции mysql_fetch_array , которая принимает переменную result , в которой находится наш SQL-запрос . Внутри цикла while мы присваиваем каждому значению столбца значение переменной с идентичным названием. Затем мы выводим значения внутрь неупорядоченного списка.

    Здесь важно обратить внимание на два момента: (1) внутри цикла while не нужно присваивать значения переменным массива row , так как значения можно брать напрямую из массива row ; (2) тег anchor , который мы используем в названии нашего файла вместе с id и основным ключом. Причина этого заключается в том, что во многих поисковых элементах изначально ничего не отображается.

    Так как мы показываем только имя и фамилию, приписывая ID в конце нашего тега anchor , то мы можем использовать ID для дополнительного запроса, который позволит вывести дополнительную информацию о персонале. Сохраните файл и протестируйте форму PHP поиска по сайту (search_display.php ).

    Убираем табуляцию

    Результаты выводятся в виде неупорядоченного списка, но суть в том, что нам не нужна табуляция. Чтобы избавиться от нее, добавьте следующее CSS-правило в самое начало вашего файла в head :

    Поиск по буквам

    Для реализации поиска по буквам потребуется лишь несколько дополнительных строк кода. Добавим этот удобный функционал для посетителей. Таким образом, они смогут находить представителей персонала по буквам, которые содержатся в имени или фамилии.

    Добавьте следующую строку кода после закрывающего тега form :

    A | B | K

    Мы привязываем тег к строке запроса с by с помощью анкора, и устанавливаем его равным определенной букве. Чтобы реализовать функционал поиска по буквам, нам нужно добавить следующий код прямо после закрывающей фигурной скобки в исходном скрипте, как показано ниже:

    }//Окончание скрипта поисковой формы if(isset($_GET["by"])){ $letter=$_GET["by"]; //Подключение к базе данных $db=mysql_connect ("servername", "username", "password") or die ("Я не могу подключиться к базе данных, так как: " . mysql_error()); //-Выберете базу данных $mydb=mysql_select_db("yourDatabase"); //-Запрос к таблице базы $sql="SELECT ID, FirstName, LastName FROM Contacts WHERE FirstName LIKE "%" . $letter . "%" OR LastName LIKE "%" . $letter ."%""; //-Запустить запрос к функции MySQL Query $result=mysql_query($sql); //-Результаты подсчета $numrows=mysql_num_rows($result); echo "

    " .$numrows . " results found for " . $letter . "

    "; //-Запуск цикла и сортировка результатов while($row=mysql_fetch_array($result)){ $FirstName =$row["FirstName"]; $LastName=$row["LastName"]; $ID=$row["ID"]; //-Вывести результат в массиве echo "
      n"; echo "
    • " . "" .$FirstName . " " . $LastName . "
    • n"; echo "
    "; } }

    Здесь мы изменили четыре фрагмента кода скрипта поиска по сайту:

    • Мы используем функцию isset() , и вносим в нее массив $_GET , а затем проверяем значение by ;
    • Создаем переменную $letter и инициализируем ее значение массивом $_GET ;
    • Добавляем переменную letter в SQL-запрос ;
    • Указываем переменную letter внутри выражения, в котором получаем подсчитанное количество строк.

    Сохраните файл search_byletter.php и проверьте результат.

    Поиск определенного сотрудника

    Чтобы отобразить информацию об остальном персонале, которая передается через уникальное id внутри нашей ссылки, нужно добавить следующий код прямо после закрывающей фигурной скобки в скрипте letter , как показано ниже:

    }//Окончание скрипта if(isset($_GET["id"])){ $contactid=$_GET["id"]; //Подключение к базе данных $db=mysql_connect ("servername", "username", "password") or die ("Я не могу подключиться к базе данных, так как: " . mysql_error()); //-select the database to use $mydb=mysql_select_db("yourDatabase"); //- Запрос к таблице базы данных $sql="SELECT * FROM Contacts WHERE ID=" . $contactid; //- Запустить запрос к функции mysql_query() $result=mysql_query($sql); //- Запуск цикла и сортировка результатов while($row=mysql_fetch_array($result)){ $FirstName =$row["FirstName"]; $LastName=$row["LastName"]; $PhoneNumber=$row["PhoneNumber"]; $Email=$row["Email"]; //- Вывести результат в массиве echo "

    "; } }

    Здесь мы изменили четыре фрагмента кода:

    • Мы используем функцию isset() , и с ее помощью проверяем значение ID в массиве $_GET ;
    • Создаем переменную $contactid и инициализируем ее массивом $_GET ;
    • В таблице выделяем все, что отмечено звездочкой * . Звездочка – это сокращенное обозначение в SQL , которое означает «дайте мне все столбцы и строки из таблицы» . Чтобы определить, какую информацию выводить, мы упоминаем переменную contactid в конце SQL-выражения ;
    • Выводим дополнительную информацию о каждом представителе персонала.

    Сохраните файл search_byid.php и проверьте результат.

    Обратите внимание, что наш функционал работает так, как и положено. При вводе имени или фамилии в поле, или при выборе буквы в качестве гиперссылки, отображаются только имена представителей персонала. Если навести курсор на ссылку, то в строке статуса можно увидеть уникальный ID . Если кликнуть по конкретному человеку, то адресная строка изменится, и отобразится дополнительная информация об этом сотруднике.

    SQL-инъекция

    Причина, по которой мы добавили в наше поле поиска регулярное выражение, заключается в том, чтобы никто не смог вмешаться в наш SQL-запрос . Раньше эта проблема была распространена, и хакеры умудрялись проводить собственные SQL-запросы , манипулируя при этом вашим приложением. Например, если бы мы допустили возможность использовать апостроф в нашем поле, то хакер мог бы просто удалить базу данных, используя запрос:

    "DROP TABLE

    Как уже было отмечено, регулярное выражение гарантирует, что в качестве первого символа посетитель может вводить лишь буквы в нижнем или верхнем регистре.

    В завершение

    В сегодняшней статье мы рассмотрели, как сделать поиск по сайту, а также:

    • Создавать базы данных и соответствующие таблицы;
    • Использовать инструменты для управления базами данных, создавать столбцы и вводить данные;
    • Разрабатывать формы поиска на основе PHP , которая умеет осуществлять проверку вводимых данных, наличия переменных в запросе, а также соединяться с базой данных и выводить результаты из таблицы;
    • Как защитить приложение и базу данных от SQL-инъекций .

    Используя знания, полученные из этой статьи, вы сможете без труда модифицировать чужой код, а также при необходимости расширять функционал формы поиска.

    Данная публикация представляет собой перевод статьи «How to Create a Search Feature with PHP and MySQL » , подготовленной дружной командой проекта

    Хорошо Плохо



    Рекомендуем почитать

    Наверх