
حل مشکل مطالب تکراری (Duplicate Content) در سایت

امروزه علمی به نام سئو (seo یا Search Engine Optimization) نقشی کلیدی در موفقیت یک سایت یا وبلاگ بازی می کند، البته همانطور که در مطالب گذشته گفته ایم، این علم چیزی نیست جزء رعایت یک سری موارد در جهت ایجاد محتوای استاندارد در وب و آگاهی از نحوه عملکرد موتورهای جستجوگر به عنوان رکن تعیین کننده در افزایش بازدیدها و از طرفی ایجاد محتوای مفید و کاربرپسند برای یاری رساندن به مخاطبان و در نتیجه جلب محبوبیت بیشتر برای سایت یا وبلاگ شما نزد آنان، اما آنچه که سبب می شود سئو را علمی پیچیده در وب لقب دهند بیشتر به خاطر گستردگی فاکتورهایی است که در آن نقش بازی می کنند، یعنی این علم خود از زیرشاخه ها و نکاتی فرعی تشکیل شده که رعایت آنها به صورت یک مجموعه در کنار هم می تواند نقش موثری در موفقیت شما در عرصه وب داشته باشد؛ یکی از این فاکتورها داشتن محتوای یکتا و پرهیز از ایجاد عمدی یا سهوی صفحات و مطالب تکراری (duplicate content) است که در این مطلب به تفصیل علت پیدایش و روش های حل این مشکل را بررسی می کنیم.
مطالب تکراری یا duplicate content چیست؟
مطالب تکراری یا duplicate content انواع و تعریف مختلف دارند، گاهی کل محتوای یک صفحه با صفحه همسان دیگری مشابه است و گاهی نیز تشابه به تگ هایی مثل title و description محدود می شود، نوع سوم هم می تواند عدم تشابه در تگ های title و description و تشابه در محتوای آن صفحات باشد؛ مثلا فرض کنید به عنوان یک کاربر در موتور جستجوی گوگل به دنبال عبارتی می گردید، آنگاه در لیست نتایج، با چند صفحه از سایتی روبرو می شوید که علی رغم متفاوت بودن لینک مطلب، محتوای یکسان و مشابه ای در آنها وجود دارد، این صفحات را در اصطلاح، صفحاتی با محتوا و مطالب مشابه و تکراری یا duplicate content می نامند که از نظر سئو یک عیب محسوب می شود.
چرا نباید در سایت یا وبلاگ خود مطالب تکراری داشته باشیم؟
اینکه چرا نباید مطالب تکراری در سایت یا وبلاگ خود داشته باشیم، بیشتر بر می گردد به طبع موتورهای جستجو و از جمله گوگل، ربات های جستجوگر این سرویس ها همیشه در پی یافتن مطالبی یکتا از آدرس های (url) سایت یا وبلاگ شما هستند تا نتایجی بهتر به کاربران خود نشان دهند، وقتی چندین صفحه تکراری با محتوای یکسان را معرفی کنیم، به نوعی موجب سردرگمی آنها شده ایم، البته نهایتا آنها یک صفحه را به عنوان مرجع تشخیص می دهند و آن را بر می گزینند، اما تکرار این کار ممکن است موجب شناسایی سایت یا وبلاگ شما به عنوان پایگاهی فریب دهنده و حقه باز شود که این در نهایت موجب حذف آدرس و اطلاعات شما از لیست جستجو و پایگاه داده آنها است، در عوض داشتن مطالبی یکتا بدون تکرار یا با حداقل تکرار و یا استفاده از روش هایی که در ادامه خواهیم گفت، سبب جلب اعتماد بیشتر موتور های جستجو به سایت یا وبلاگ شما و بالا رفتن رنک مطالب شما در لیست نتایج آنها است.
علت دیگری که می توان برای پرهیز از ایجاد خواسته یا ناخواسته مطالب تکراری عنوان کرد، پراکنده شدن و در نتیجه کاهش رنک مطالب سایت یا وبلاگ است، چرا که در حالت معمولی با بازدیدها و لینک هایی که به یک مطلب تعلق می گیرد، رنک آن نیز به همان نسبت افزایش می یابد و واضح است که اگر این رنک را بین چند صفحه دیگر تقسیم کنیم، در نهایت رنک تمام آنها کاهش خواهد یافت؛ از طرفی دیگر مطالب تکراری موجب صرف وقت و پهنای باند بیشتر در مرور صفحات توسط ربات ها و کسب نتیجه کمتر به دلیل همسان بودن محتوا است که این خود شانس ایندکس صفحاتی بیشتر در بازه زمانی کوتاه تر را از سایت یا وبلاگ شما خواهد گرفت.
علت ایجاد مطالب تکراری یا duplicate content چیست؟
مشکل محتوای تکراری به دلایل زیادی ممکن است ایجاد گردد، در زیر به پاره ای از این دلایل و روش حل آن اشاره می کنیم.
- نقص عملکرد سیستم مدیریت محتوا در تولید لینک های یکتا:
برخی سیستم های مدیریت سایت یا وبلاگ، برای یک مطلب به دلایل مختلف ممکن است لینک های مجزا و متفاوت تولید کنند، مثلا ممکن است صفحه اصلی سایت به هر دو صورت زیر در دسترس باشد.
http://yoursite.comشاید از نظر کاربران سایت این مشکل چندانی به نظر نرسد، اما از دید ربات های جستجوگر، این دو آدرس، دو صفحه متفاوت با محتوایی یکسان محسوب می شوند، لذا حتی المقدور سعی کنید لینک های اضافه را اصلاح نمائید؛ در ضمن استفاده از rel canonical نیز می تواند تا حدود زیادی رنک مطالب اصلی را حفظ کند، البته نحوه استفاده از این تگ جای بحث بیشتر دارد ولی همین قدر بدانیم که باید آن را در صفحاتی که مشابه با صفحه اصلی هستند، با تنظیم لینک مطلب اصلی، در قسمت هِدر (بین تگ های head) به صورت زیر قرار دهیم.
http://yoursite.com/?page=1
<link rel="canonical" href="http://www.yoursite.com/mainlink.html" />بعضا شاهد هستیم که برخی در تمام صفحات خود این تگ را استفاده می کنند که ظاهرا با فلسفه وجودی آن منافات دارد، چرا که rel canonical باید در صفحات همسان با صفحه اصلی، برای مشخص نمودن محتوای مرجع به کار برده شود نه اینکه در تمام صفحات، آن را قرار دهیم (البته ضرر این کار اثبات نشده است اما مسلما به این صورت سودی هم نخواهد داشت).
- ایجاد محتوای یکسان در آدرس های گوناگون:
اگر به طور همزمان مطالب خود را در بیش از یک سایت یا وبلاگ درج کنید، این کار موجب ایجاد مطالب تکراری همسان یا duplicate content می شود، چرا که ربات های جستجوگر با یافتن این مطالب، آنها را با هم مقایسه می کنند و تنها آن مطلبی را که درست تشخیص دهند، ایندکس می کنند، لذا از کپی بی مورد مطالب در سایت ها و وبلاگ های گوناگون خودداری کنید.
- در دسترس بودن سایت با www و بدون آن
اگر وبسایت شما با درج عبارت www در نوار آدرس و در عین حال بدون درج آن نیز در دسترس کاربران قرار می گیرد، به طور قریب به یقین با مشکل مطالب تکراری روبرو خواهید شد، چرا که از دید موتورهای جستجو این دو آدرس، دو صفحه مجزا تلقی شده و به طور جداگانه پردازش می شوند، البته برخی از آنها نظیر گوگل تا حدودی قادر به تشخیص آدرس پیش فرض هستند، اما بهتر است یک آدرس را برگزینید و حالت دیگر را با ارسال کد HTTP 301، به اصطلاح برای همیشه ریدایرکت کنید (HTTP/1.1 301 Moved Permanently)، انجام این کار در php با تنظیم مقادیر هِدر به صورت زیر امکان پذیر است.
header('HTTP/1.1 301 Moved Permanently');کد بالا با ارسال هِدر 301 به ربات های جستجو خواهد گفت که لینک مورد نظر آنان برای همیشه به آدرس جدیدی منتقل شده است که در قسمت Location آن را تنظیم کرده ایم، این نوع ریدایرکت با حالت معمولی که از متاتگ refresh استفاده می کنیم فرق دارد، این روش مورد تایید و توصیه موتورهای جستجو و کاربرپسند است (چرا که به دلیل سرعت کار، در واقع کاربر معمولا متوجه عمل انتقال به لینک جدید نمی شود)، اما روش ریدایرکت با متاتگ refresh جایگزینی برای موارد اضطراری است که به کدهای سرور خود دسترسی نداریم و توصیه نمی شود، یادآور می شویم تا هنگامی که در برنامه نویسی php یا asp تسلط لازم را پیدا نکرده اید اقدام به دستکاری کدهای خود نکنید، چون یک تغییر اشتباه ممکن است موجب بروز مشکلات بدتر از وجود مطالب تکراری شود!
header('Location: http://www.yoursite.com');
die();
- وجود دو یا چند دامنه برای یک سایت یا وبلاگ
مانند موقعیت قبل، اگر سایت یا وبلاگ شما با دو یا چند آدرس در وب قابل دسترسی باشد، تاثیر منفی مستقیم بر عملکرد آن خواهد داشت، مگر اینکه تمام دامین های فرعی را با ریدایرکت HTTP 301، به دامین اصلی هدایت کنید، مثلا اگر آدرس سایت شما هم به صورت:
http://yoursite.comو هم به صورت:
http://yoursite.irدر دسترس است، باید یک دامنه را انتخاب کنید و آدرس دیگر را به دامنه اصلی انتقال دهید.
- قابل دسترس بودن سایت با و بدون درج index.php.html.asp در انتهای آدرس
یکی دیگر از موارد شایع در خصوص ایجاد صفحات و محتوای تکراری، دسترسی به سایت با و بدون درج عباراتی چون index.php، index.html، index.asp و غیره است؛ شاید گمان کنید موتورهای جستجو تشخیص می دهند که صفحه ایندکس یک سایت، همان صفحه اصلی آن است، اما در پاسخ باید بگوییم که معمولا اینطور نیست، در برخی از سرور ها ممکن است تنظیمات پیش فرض تغیر داده شوند و صفحه اصلی سایت با عبارتی دیگر تنظیم شده باشد و لذا فایل ایندکس الزاما به معنی صفحه اصلی نیست، به همین دلیل موتورهای جستجو ممکن است کماکان بر ایندکس جداگانه مطالب اصرار داشته باشند، لذا بهتر است با شناسایی لینک مورد تقاضا (REQUEST URI)، آن را تجزیه تحلیل کرده و به حالت استاندار ریدایرکت کنید.
- سایت ها و وبلاگ هایی که مطالب شما را کپی می کنند
کپی مطالب به صورت مستقیم حتی بدون ذکر نویسنده و نامی از منبع و بدون هیچ تغییر محسوسی در مطلب، کاری است که متاسفانه بعضا شاهد آن هستیم، البته عده ای بدون سوء نیت و آگاهی این کار را صرفا از روی علاقه به درج محتوا در وبلاگ یا سایتشان انجام می دهند اما برخی نیز این کار را به عنوان افتخار خود تلقی کرده یا در پی سوء استفاده از مطالب شما برای مقاصد خودشان هستند، به هر صورت انجام این نوع کارها نتنها از دید ما امری ناپسند و بی ارزش است، بلکه از دید ربات های خزنده و جستجوگر نیز نامطلوب شمرده می شود، اگر آنها به صفحه ای برخورد کنند که قبلا محتوای آن را ایندکس کرده اند، به دید یک کپی به آن نگاه خواهند کرد و بدترین حالت زمانی است که قبل از ایندکس مطلب اصلی به کپی و بدل آن برسند! البته در دراز مدت نهایتا با معیارهایی خواهند فهمید که کدام سایت یا وبلاگ در حال سرقت بی سر و صدای مطالب و زحمات دیگری است و عواقب این کار دامن آن سایت یا وبلاگ را خواهد گرفت (در بدترین حالت موجب حذف کامل آن سایت یا وبلاگ از لیست جستجو خواهد شد)، نتیجه اینکه نه مطالب دیگران را بدون درج منبع و لینک مستقیم کپی کنیم و نه اجازه دهیم مطالبمان را بی زحمت و راحت مورد سوء استفاده قرار دهند (البته حالت اخیر تا حدود زیادی بستگی به وجدان و شخصیت طرف مقابل دارد)، اما می توان اقداماتی نیز انجام داد، مثلا از متاتگ copyright استفاده کرد.
<meta name="copyright" content="(c) 2012 https://webgoo.ir" />یا عباراتی را مبنی بر کسب اجازه از نویسنده مطلب و درج لینک را در قسمت فوتر سایت قرار داد و یا حتی اجاز کپی برداری را به راحتی به کاربران نداد (البته این کار توصیه نمی شود)، ولی در مجموع ممانعت از این کار بیش از اینکه به شما بستگی داشته باشد به کاربران و شخصیت آنها بستگی دارد، چرا که با همه ی این تفاسیر باز ممکن است مطالبتان به صورت غیر مجاز کپی برداری شود.
امکانات گوگل برای وبمسترها
در پایان این مطلب بد نیست یکی از کاربردی ترین ابزارهای وب برای وبمسترها را معرفی کنیم، این ابزار، سرویس وبمستر گوگل است که با داشتن یک حساب جی میل به راحتی می توانید از آن در آدرس زیر استفاده کنید.
http://www.google.com/webmastersامکانات بسیار خوبی در این سرویس توسط گوگل ارائه می شود که حتما یک وب نویس حرفه ای باید نیم نگاهی به آنها داشته باشد.
توجه کنید که داشتن مطالب تکراری به معنی عیبی بزرگ و غیر قابل حل نیست، اما نداشتن و به حداقل رسانیدن این موارد، کمکی بزرگ است برای اینکه زحماتتان هر چه موثرتر به ثمر بنشیند و بازدهی کارتان بیشتر شود.


» رتبه بندی الکسا (Alexa) چیست و چقدر اهمیت دارد؟!
» نحوه استفاده از فایل robots.txt در سایت
» مشکلات رایج در کدنویسی معتبر و رفع آنها
» چگونه سایت یا وبلاگ را برای موتورهای جستجو بهینه سازی کنیم؟
» مقایسه خطای 404 و کد 301 ریدایرکت (Redirect)


من قبلا خیلی از لینکهامو پاک کردم ولی گوگل اونارو پیدا می کنه و تو گوگل وبمستر نات فوند می زنه
گفتن که از این دایرکتوری استفاده کنم تا لینکها حذف شده به لینک اصلی سایتم دایرکت بشه
من تو سی پنل پوشه پاپلیک اچ تی ام ال رو انتخاب کردم ولی تا الان اتفاقی نیفتاده و صفحات هنوز نات فوند می زنن
1 - اولا آیا من کار رو درست انجام دادم ؟
2 - آیا باید تو هیر سایتم هم کدی از ریدایرکت 301 وارد کنم
با سپاس
واقعیت امر این است که استفاده از کد 301 ریدایرکت یک کار حساس و تقریبا سطح بالا است، به این معنی که شما باید با php یا با htaccess قبلا آشنایی کافی داشته باشید، به نظر می رسد شما با هدف و منظور این امکان هنوز به درستی آشنا نیستید، 301 ریدایرکت یک سربرگ HTTP است که با درخواست هر لینک از سرور به مرورگر یا واسط کاربری (به فرض ربات گوگل) ارسال می شود، به طور مثال سربرگ 200 یعنی صفحه به سلامت دریافت شده است، سربرگ 404 یعنی صفحه مورد نظر پیدا نشد، سربرگ 301 هم یعنی لینک فعلی به یک آدرس دیگر منتقل شده است که به همراه سربرگ 301 جانشین آن هم تعیین می شود، حال این کار از دو طریق امکان پذیر است، یک روش استفاده از فایل htaccess در سایت قدیمی (یا سایت فعلی) و انتقال به سایت (یا لینک) جدید است، روش دیگر استفاده از php و تنظیم آدرس جدید است، یعنی به فرض در فایل index.php سایت قدیمی (یا سایت فعلی)، هر درخواست مبتنی بر لینک های قدیمی را به آدرس جدید ریدایرکت می کنیم، البته این کار بسیار حساس و نیازمند دانش فنی لازم است.
اگر لینک های شما که می گویید خطای 404 می دهند واقعا و از نظر شما حذف شده اند، این خطا ضرری برای سایت شما ندارد، همان طور که در ابزار وبمستر گوگل هم گفته شده است، فقط گوگل جهت یادآوری و اطلاع آن را برایتان نمایش می دهد.
البته من الان تو گوگل وبمستر همون لینک هایی هم که وجود دارند رو دارم با خود ابزار گوگل دونه دونه حذف می کنم و ست از فیکس هم می کنم. و با این وجود نیازی به 301 هم نیست درسته؟
چون خطای نات فوند هایی که داشتم بالای چهار هزار بود و الان با این کارا رسیده به دو هزار.
البته اینم بگم از یه هفته قبلی که این کار رو شروع کردم لینک هایی جدیدی که دارم ترجمه می کنم هم به خوبی تو گوگل اومدن و هر روز داره ورودیم بهتر میشه
حل این مشکل در مورد وبلاگ ها چندان ساده نیست، چون بسیاری از امکانات نظیر استفاده از دستورات 301 ریدایرکت و فایل htaccess برایتان مقدور نیست.
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "/");
Response.End();
اگر وب ما مطالب تکراری ندارد ما از این کد در قالب استفاده کنیم عیبی به وجود می اورد و در سئو اشکال دارد
ممنون
دقیقا منظورتان کدام کد است؟ اگر مطالب تکراری در وب (سایت / وبلاگ) وجود ندارد، نیازی به استفاده از این دستورات نیست (استفاده نادرست ممکن است باعث بروز مشکلات ناخواسته شود).
1- استفاده از دومین الیاس هم اثر منفی دارد؟ الان چند دامنه روی دامنه اصلی توسط دومین الیاس است و با دامنه های متفاوت سایت اصلی را نمایش می دهند ایا این مورد اشکال ایجاد می کند؟
2- وقتی سایت را با www می زنیم سریع سایت بدون www باز می شود. اگر اشتباه نکنم طبق اصولی که شما فرموده اید است و مشکلی ندارد درست است؟
3- بنده الان ادرس زیادی در سایت در مورد محصولات دارم که با کلیک بر یکی از تب ها ، صفحه اصلی محصول با لینک جدید نمایش داده می شود . از کجا باید بفهمم که قاعده rel canonical استفاده شده یا نه؟ مثلا ادرس
http://telephoneshop.ir/product/1173/هدست-تلفن-اپراتوری-تک-گوش-دارای-پورت-RG11با
http://telephoneshop.ir/product/1173/هدست-تلفن-اپراتوری-تک-گوش-دارای-پورت-RG11?tab=detailیک مورد را نمایش می دهند از کجا باید بفهمم این مورد رعایت شده یا نه؟
1- در کل در هر حالتی که از یک صفحه دو یا چند لینک متفاوت قابل دسترسی در سایت وجود داشته باشد، حالت مطالب مشابه صادق است، چه به صورت زیر دامنه باشد چه به صورت دامنه اصلی.
2- با توضیحات شما ظاهرا مشکلی از این نظر نیست، البته کد HTTP سرور نیز باید بررسی شود که 301 باشد.
3- rel canonical به صورت یک متاتگ در صفحات همسان وجود دارد.
در مورد شماره 1 در هاست که نگاه کردم نوشته از 301 جهت ریدایرکت استفاده شده (Redirect with the HTTP 301 code) اما وقتی دامنه ها را بزنیم با URL دامنه جدید سایت باز میشه . ایا این طبیعی است و یا وقتی از 301 استفاده می شه با زدن هر دامنه باید دامنه اصلی نمایش پیدا کنه؟
مثلا
http://telephoneshop.irبا نام هر یک از دامنه ها سایت نمایش پیدا می کند.
http://telephonshop.ir
http://telefonshop.ir
بازم ممنون
http://telephoneshop.irاست و سایر موارد به آن ریدایرکت می شوند، این موضوع از نظر سئو مشکلی ایجاد نمی کند هر چند بهتر است از وجود دامنه های فرعی تا حد امکان پرهیز شود.
حذف شد
متاسفانه چنین امکانی مقدور نیست، لطفا از فید RSS سایت استفاده کنید.
مرسی
افزونه هایی هم در زمینه جلوگیری از درج مطالب تکراری هست ، اونها رو هم معرفی کنید. سپاس
برای این مورد باید با توجه به CMS مد نظرتان به انجمن های مربوطه مراجعه کنید!
site.ir/learningدیروز برای چند سایتم رو از حالت verified بودن در وبمستر در آوردم و وقتی دوباره وریفای کردم با این مشکل روبرو شدم. ممنون میشم راهنماییم کنید چکار باید انجام بدم ؟
site.ir/learning
site.ir/learning/لطفاً راهنماییم کنید این مشکل رو برطرف کنم.
site.ir/learning
ممنونم
RewriteCond %{REQUEST_FILENAME} !-dبرای اینکه اسلش در انتهای لینک ها باشد:
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]


- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ خاصی داده نخواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لذا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.
با توجه به تاریخ نگارش آموزش های سایت و پیشرفت تکنولوژی های مرتبط با وب در سالیان اخیر، محتوای برخی از مطالب قدیمی ممکن است نیاز به ویرایش و به روزرسانی داشته باشند که این کار هم زمان با تهیه نسخه جدید «وبگو» به مرور در حال انجام است، لطفا در استفاده از مطالب سایت به این نکته دقت داشته و حتی المقدور از چند منبع مختلف استفاده نمائید.