Disclaimer

Any opinions expressed here are my own and not necessarily those of my employer (I'm self-employed).

Oct 6, 2010

Keep ASP.NET error pages out of search engines

In a production environment, users should not be presented the default ASP.NET error pages. Instead they should be offered clean, understandable error pages giving them a sensible explanation of the error, along with suggestions to continue their journey on the website. Besides usability concerns, it's also an important security practice to not leak details about application details to those who might tinker with your application!

In ASP.NET, the customErrors configuration element is used to handle error situations. However, the behaviour of the custom errors is somewhat counterintuitive, as you might end up with your error pages indexed by search engines.

How customErrors work
First a quick example of how a customError section might look like in a web.config file (this belongs under system.web):

<customErrors mode="RemoteOnly" 
              defaultRedirect="/StandardError.aspx">
    <error statusCode="404" redirect="/NotFound.aspx"/>
</customErrors>

CustomErrors can be set to: Off | RemoteOnly | On. Off means that you'll get the default (and detailed) ASP.NET error pages when something bad happens. Remoteonly will give the default error pages when the application is accessed from localhost, but will serve your custom pages for requests not originating on the local machine. On will always serve the custom error pages.

Historically, errors would trigger a redirect to en error page — this is still the default behaviour. The path to the page that triggered the error is included as a parameter:

/StandardError.aspx?aspxerrorpath=/my/pagewitherror.aspx

Starting with the .Net framework 3.51, the customErrors element includes the optional redirectMode attribute. When setting this to "ResponseRewrite", the user is no longer redirected to the error page. Instead, the error page is served "in place" on the page where the error occured. This can be advantageous, as the user can simply refresh the page to try again instead of being sent away from the webpage where she's trying to accomplish something.

Though it's important to present a professional looking error page there is also important behaviour invisible to the average end-user: HTTP status codes affecting how search engines index your site.  

HTTP status codes
HTTP status codes are fundamental to the functioning of the web. In short, they're numeric values  describing the outcome of a request. The status codes are included in the first line of the response by a webserver. Here's the most common ones:
  • 200 OK
  • 301 Moved permanently (this is a redirect)
  • 302 Moved temporarily (this is a redirect)
  • 404 Not found
  • 500 Internal server error
The 200, 301, and 404 status codes have a major impact on how search engines index your site. 200 means that they will index the page at will. 301 means that they should replace the source of the redirect with the destination address of the redirect. 404 means that they will remove the page from their index.  Google has an excellent article on the various HTTP status codes, and how they impact the Googlebot crawlers. To inspect HTTP status codes, get a tool such as e.g Fiddler or the Firefox Live HTTP Headers plugin.

When running with customErrors Off, a request for a non-existant aspx will yield a default ASP.NET "Server error, file not found" error page, correctly returned with a 404 HTTP status code. This behaviour is important, as the 404 status code indicates to search engines that the resource did not exist.

However, it all changes when the customErrors are set to RemoteOnly or On! You'll see your custom error page served, but the status code in the response will be 200. This indicates that everything went well! Search engines will consequently index your error page at will — and they will keep returning to the address to check for updates. Why the behaviour changes to return a 200 instead of a 404 is beyond me. In my opinion, it shouldn't. We'll revisit our example to show just how counterintuitive this is, we've now included the ResponseRewrite functionality:

<customErrors mode="RemoteOnly" 
              defaultRedirect="/StandardError.aspx"
              redirectMode="ResponseRewrite">
    <error statusCode="404" redirect="/NotFound.aspx"/>
</customErrors>

Note that we are specific about the 404 errors — we even refer it by it's numerical code — but the error page will still be returned with a 200 OK.

Fixing the problem
For the NotFound.aspx error page in our example, the statuscode can be set programatically in e.g. the Page_Load() event :

Response.StatusCode = 404;

This will override the status code in the response, and make your "file not found" custom error page behave correctly!

As a sidenote, there are several tricks to keep your regular pages out of the search engine indexes. Google has published several articles on how to keep stuff out of their index, check them out!

336 comments:

  1. Thanks for sharing the solution.

    Can we return 404 for path/ alias not found (example: /Path-Not-Exist/ )?

    ReplyDelete
    Replies
    1. یکی از بهترین سایت های موزیک برای دانلود آهنگ سایته: دانلود آهنگ جدید
      می باشد که دارای ارشیو کامل از

      Delete
  2. Thank you for posting the great content.I was looking for something like this.I found it quiet interesting, hopefully you will keep posting such blogs..Keep sharing digital marketing jobs in hyderabad.

    ReplyDelete
  3. Informative post! I really like and appreciate your work, thank you for sharing such a useful information about web errors strategies, hear i prefer some more information to build your career in digital marketing by DoDigital

    ReplyDelete
  4. Personally I think overjoyed I discovered the blogs.
    technology

    ReplyDelete
  5. Thank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.
    web design training in chennai

    ReplyDelete
  6. Expected to form you a next to no word to thank you once more with respect to the decent recommendations you've contributed here.
    Dotnet Training in Marathahalli

    ReplyDelete
  7. Thanks for sharing the information. i really enjoyed your blog article and always read your blog.
    Mobile Computing Project Center in Chennai | Mobile Computing Projects in Velachery

    ReplyDelete
  8. I accept there are numerous more pleasurable open doors ahead for people that took a gander at your site.
    R Programming Training in Bangalore

    ReplyDelete
  9. I started to learn something about technologies and computer in high school. That was high time to write college admission essay. I even used https://order-essay-online.net/blog/admission-essay to find some advices about writing.

    ReplyDelete
  10. Very nice blog with nice explanation about ASP.NET error page. Thanks for sharing.
    Austere Technologies Cloud Services | No.1 cloud technologies

    ReplyDelete
  11. wow...nice blog, very help full information. Thanks for sharing.

    BEST APP DEVELOPMENT SERVICES | MASSIL TECHNOLOGIES

    ReplyDelete
  12. Very good informative article. Thanks for sharing such nice article, keep on up dating such good articles.

    MASSIL TECHNOLOGIES | ORACLE CLOUD SERVICES FOR APPLICATION DEVELOPMENT

    ReplyDelete
  13. What an interesting informative blog. Thanks for sharing.

    Best Mobility Services | Austere Technologies

    ReplyDelete
  14. Great info! I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have. baba pandey

    ReplyDelete
  15. This comment has been removed by the author.

    ReplyDelete
  16. Great article, really very helpful content you made. Thank you, keep sharing.

    Best career in commerce | Avinash College Of Commerce

    ReplyDelete
  17. I feel very grateful that I read this. It is very helpful and very informative and I really learned a lot from it.
    National Caviar Day

    ReplyDelete
  18. Great article, really very helpful content you made. Thank you, keep sharing.

    Best Degree Colleges Hyderabad | Avinash College of Commerce

    ReplyDelete
  19. Hi Thanks for the nice information its very useful to read your blog. We provide best Block Chain Services

    ReplyDelete
  20. Thank you for sharing this valuable information. But get out of this busy life and find some peace with a beautiful trip book best Andaman honeymoon packages

    ReplyDelete
  21. Thank you for sharing this valuable information. But get out this busy life and find some peace with a beautiful trip. book ANDAMAN HOLIDAY PACKAGES @ 35999

    ReplyDelete
  22. Thank you for sharing this valuable information. But get out this busy life and find some peace with a beautiful trip. book CHEAP ANDAMAN PACKAGES @9999

    ReplyDelete
  23. Hi Thanks for the nice information its very useful to read your blog. We provide About Best Software Development Services

    ReplyDelete
  24. Hi Thanks for the nice information its very useful to read your blog. We provide best Find All Isfs Courses

    ReplyDelete
  25. Hi Thanks for the nice information its very useful to read your blog. We provide best Massil Technologies

    ReplyDelete
  26. Your website is really cool and this is a great inspiring article. Thank you so much. Internet marketing services

    ReplyDelete
  27. Your article gives lots of information to me. Thanks for sharing.
    cima courses in hyderabad | ISFS

    ReplyDelete
  28. diwali image

    Diwali Images: Hello, users, Diwali is on the way and we are left with just one month left.
    On the precious occasion of Diwali, we do wish our ...

    ReplyDelete
  29. i am for the first time here. I found this board and I in finding It truly helpful & it helped me out a lot. I hope to present something back and help others such as you helped me. buy seo backlinks

    ReplyDelete
  30. It was a very good post indeed. I thoroughly enjoyed reading it in my lunch time. Will surely come and visit this blog more often. Thanks for sharing. university of melbourn

    ReplyDelete
  31. Wow...What an excellent informative blog, really helpful. Thank you. Best Oracle DBA Course Training| orskl

    ReplyDelete
  32. This comment has been removed by the author.

    ReplyDelete
  33. I am happy to find this post very useful for me, as it contains lot of information.

    neha kakkar height
    neha kakkar age

    ReplyDelete
  34. Awesome and interesting article. Great things you've always shared with us. Thanks. Just continue composing this kind of post. link building agency

    ReplyDelete
  35. Thanks for provide great information and looking beautiful blog. If you wish to learn get connected with Advanced Cyber Security Course. I hope below information will help you.
    Ethical Hacking Training in chennai
    Best Training Institute in Chennai

    ReplyDelete
  36. Nice Post. If you wish to get study abroad in any course. The below information will suit you.
    Skolarrssolutions
    Mbbs in Russia
    Mbbs in UK

    ReplyDelete
  37. Our Buy Term Papers Online Services are cheaper or rather affordable, considering the expertise, experience, and academic qualifications that the authors possess.In the current writing market, our charges for Order Research Paper Online are the most affordable and favorable for the majority of students.

    ReplyDelete
  38. Hi, Thanks for the great information and it is very useful to read your blog with easily understand for all readers. Well done!
    web design company in velachery

    ReplyDelete
  39. https://www.dotnetnoob.com/2010/10/keep-aspnet-error-pages-out-of-search.html
    https://www.programming-free.com/
    https://www.alliancetek.com/blog/post/2015/09/03/when-and-why-is-tally-integration-required.aspx
    https://www.webdesignphils.com/cited-among-10-awesome-web-developers-in-the-philippines/
    http://cloudepr.blogspot.com/2009/09/cluster-facilities-hardware-and.html
    https://www.sweetromancereads.com/2015/03/aarrggghhh-or-feeling-overloaded-by.html
    https://www.oracleracexpert.com/2009/08/oracle-data-pump-exportimport.html
    http://alonsoyserodio.blogs-r.com/weblog/gl/fotos/mgcolomo/8a8024e7325ae66f01327df990671230
    http://www.directory8.org/Internet/Training/
    https://www.dondir.com/education/online_courses/page-15.html

    ReplyDelete
  40. Thanks for this valuable information sharing, and i learned a lot and cleared my all doubts in this.. keep posting like this useful information.
    post free classified ads in india

    ReplyDelete
  41. Thanks for this valuable information sharing, and i learned a lot and cleared my all doubts in this.. keep posting like this useful information.
    Scaffolding Dealers in Chennai
    Aluminium Scaffolding Dealers in Chennai

    ReplyDelete
  42. Thanks for sharing this wonderful information. I hope you will share more helpful information regarding the content.
    web portal development company in chennai

    ReplyDelete
  43. Thanks for sharing this wonderful information. I hope you will share more helpful information regarding the content.
    scaffolding dealers in chennai
    aluminium scaffolding dealers in chennai

    ReplyDelete
  44. Do you require Annotated Bibliography Powerpoint Presentation from a credible and trusted writing company which guarantees high -quality articles for the client? It can be challenging to acquire secure and confidential Quality Research Papers from a writing company.

    ReplyDelete
  45. Students seek professional Research Paper Writing Service assistance from Custom Essay Writing to accomplish any type of essay assigned to them. When you request for Write My Research Papers, they strive to meet your professors’ requirements.

    ReplyDelete
  46. Do you have an insight into the qualities took out for in a company offering excellent Article Review Papers Services? Asking for Article Review Writing Service is noble because it enhances your Review Article Writing Service performance.

    ReplyDelete
  47. Good blog thanks for sharing! London Tigers Security Door Supervisor

    ReplyDelete
  48. Chinese Celebrities Hot Images, Hot Photos, Hot Pics just visit this website given below.

    Hot Pics

    ReplyDelete
  49. Good blog post thanks, Providing Us With This Great Knowledge Value Of My Car

    ReplyDelete
  50. Khanial Homes Currently, this attractive residential project offers both residential and commercial plots. Available sizes for residential plots are 5 Marla, 6 Marla, 8 Marla and 10 Marla. In addition, you can invest in 1 Kanal and 2 Kanal residential plots. Meanwhile, commercial plots for sale are 3 Marla, 5 Marla, and 8 Marla in size.

    ReplyDelete
  51. Amazing information thanks for sharing good article
    Best management college in Hyderabad

    ReplyDelete
  52. Many of these sites use the power of machine learning. In this article, we are going to talk about the relation between data science and machine learning. Read on. machine learning course in hyderabad

    ReplyDelete
  53. Good article and very useful information
    Best commerce college

    ReplyDelete
  54. wow...nice blog
    Good article and very useful information
    Best commerce college

    ReplyDelete
  55. Nice blog !!! Keep blogging !!

    https://devu.in/machine-learning-training-in-bangalore/

    ReplyDelete
  56. Paramedic science assignment writing services have become very popular for students paramedic coursework writing services as they engage the best online Paramedic Science Writing Services.

    ReplyDelete
  57. Good article and very useful information
    Best commerce college

    ReplyDelete
  58. AB Paving is a Burnaby-based paving contractor that is well-known for offering a wide range of premium Paving Amarillo TX

    ReplyDelete
  59. Excellent blog!!! I got to know more useful information by reading your blog. Thanks for posting this blog.

    Apache Spark Training in Pune
    Spark Training Institute in Pune

    ReplyDelete
  60. I am really happy with your blog because your article is very unique and powerful for new.
    Data Science
    Selenium
    ETL Testing
    AWS
    Python Online Classes

    ReplyDelete
  61. This is my first time i visit here and I found so many interesting stuff in your blog especially it's discussion, thank you.
    business analytics course

    ReplyDelete
  62. Thanks for always being willing to lend a hand to provide the best knowledge.
    360DigiTMG industrial revolution in malaysia

    ReplyDelete
  63. This post is very simple to read and appreciate without leaving any details out. Great work!
    data science course in noida

    ReplyDelete
  64. Tapasya is the Best College of Commerce and Management in Hyderabad with Highly Experienced Faculty for Commerce and Management Courses - MEC, CEC, BCom, BBA & MBA.
    http://tapasyaedu.com/

    ReplyDelete
  65. I went over this website and I believe you have a lot of wonderful information, saved to my bookmarks 먹튀검증업체

    ReplyDelete
  66. This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck. 안전놀이터

    ReplyDelete
  67. The post is written in very a good manner and it contains many useful information for me 먹튀폴리스

    ReplyDelete
  68. This is such a great resource that you are providing and you give it away for free. 먹튀검증커뮤니티

    ReplyDelete
  69. As I website possessor I think the written content here is rattling wonderful, thankyou for your efforts. 메이저놀이터

    ReplyDelete
  70. Your articles are inventive. I am looking forward to reading the plethora of articles that you have linked here. Thumbs up! 먹튀검증

    ReplyDelete
  71. I feel a lot more people need to read this, very good info buying 토토사이트

    ReplyDelete
  72. I would like to say that this blog really convinced me to do it! Thanks, very good post 먹튀검증커뮤니티

    ReplyDelete
  73. Audio began playing any time I opened up this webpage, so annoying! 메이저놀이터

    ReplyDelete
  74. A very informationrmative article and lots of really honest and forthright comments made! This certainly got me thinking about this issue, cheers all. 먹튀검증

    ReplyDelete
  75. A good blog always comes-up with new and exciting information and while reading I have feel that this blog is really have all those quality that qualify a blog to be a one
    Best Data Science courses in Hyderabad

    ReplyDelete
  76. Exceptional post however , I was wanting to know if you could write a litte more on this topic? I’d be very thankful if you could elaborate a little bit further. Thanks 안전놀이터

    ReplyDelete
  77. I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors.
    data science course fees in bangalore

    ReplyDelete
  78. Nice to be visiting your blog once more, it has been months for me. Well this article that ive been waited for therefore long. i want this article to finish my assignment within the faculty, and 안전놀이터 has same topic together with your article. Thanks, nice share.

    ReplyDelete
  79. Your information was very useful to me. That's exactly what I've been looking for 메이저토토사이트!

    ReplyDelete
  80. I think a lot of articles related to 메이저사이트 are disappearing someday. That's why it's very hard to find, but I'm very fortunate to read your writing. When you come to my site, I have collected articles related to this. My site name is .

    ReplyDelete
  81. What a nice comment!Nice to meet you. I live in a different country from you. Your writing will be of great help to me and to many other people living in our country. I was looking for a post like this, but I finally found 토토사이트.

    ReplyDelete
  82. Easily, the article is actually the best topic on this registry related issue. I fit in with your 먹튀검증 and will eagerly look forward to your next updates. Just saying thanks will not just be sufficient, for the fantastic lucidity in your writing. I will instantly grab your rss feed to stay informed of any updates

    ReplyDelete
  83. I am overwhelmed by your post with such a nice topic. Usually I visit your 안전놀이터 and get updated through the information you include but today’s blog would be the most appreciable. Well done!

    ReplyDelete
  84. Your article was very impressive to me. It was unexpected information,but after reading it like this 메이저토토사이트, I found it very interesting.

    ReplyDelete
  85. It seems to be a really interesting article. After reading this article, I thought it was interesting, so I wrote it. I hope you can come to my site, 주식DB, read it and enjoy it.

    ReplyDelete
  86. I found the answer I was looking for in your article. I'm going to quote your article and write it on a blog. 바카라사이트

    ReplyDelete
  87. I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors.
    data science in bangalore

    ReplyDelete
  88. Thank you so much for providing good quality information. 먹튀검증업체 I think it would not have been easy to collect this information and organize it in an easy to understand way. I'll add it to my bookmarks so I can visit it often! And I will share it with my acquaintances. And there is a lot of useful information on our website too, so please take a look and take a look. Then have a good day. 먹튀검증

    ReplyDelete
  89. that will help me grow.먹튀사이트 good of which you’re so good currently

    ReplyDelete
  90. It's great to have a place like this. 먹튀신고 look forward to it.It's always coming

    ReplyDelete
  91. Guess I will just bookmark this site 보증업체 The blog is instructive additionally

    ReplyDelete
  92. It was an awesome post to be sure. I completely delighted in understanding it in my noon. Will without a doubt come and visit this blog all the more frequently. A debt of gratitude is in order for sharing. 온라인포커

    ReplyDelete
  93. I love what you 안전놀이터추천 tend to be up too. This kind of clever work and exposure! Keep up the excellent works guys I've incorporated you guys to our blogroll.

    ReplyDelete
  94. Have you ever considered creating an e-book or guest authoring on other websites 토토사이트추천 I have a blog centered on the same information you discuss and would really like to have you share some stories/information. I know my visitors would value your work. If you're even remotely interested, feel free to send me an email.

    ReplyDelete
  95. The article composing business is going extraordinary for me at this moment, and the vast majority of my prosperity is because of the substance that you post here. I utilize your substance to compose my articles, and the substance makes my great article incredible! 메이저놀이터

    ReplyDelete
  96. I have been surfing online more than 3 hours today, yet I never found any interesting article like yours. It’s pretty worth enough for me 안전놀이터 Personally, if all webmasters and bloggers made good content as you did, the net will be much more useful than ever before.

    ReplyDelete
  97. There are some fascinating time limits in this article however I don’t know if I see all of them center to heart. There may be some validity but I'll take maintain opinion until I look into it further. Good article , thanks and we would like extra! Added to FeedBurner as well 메이저안전놀이터

    ReplyDelete
  98. I saw your article well. You seem to enjoy 바카라검증사이트 for some reason. We can help you enjoy more fun. Welcome anytime :-)

    ReplyDelete
  99. This post is very simple to read and appreciate without leaving any details out. Great work!
    business analytics course

    ReplyDelete
  100. This is my first time i visit here. I found so many entertaining stuff in your blog, especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the leisure here! Keep up the good work. I have been meaning to write something like this on my website and you have given me an idea. 온라인포커

    ReplyDelete
  101. Exceptional post however , I was wanting to know if you could write a litte more on this topic? I’d be very thankful if you could elaborate a little bit further. Thanks 안전놀이터검증

    ReplyDelete
  102. I’d like to thank you for the efforts you’ve put in writing this blog. I’m hoping to view the same high-grade blog posts by you in the future as well. In truth, your creative writing abilities has inspired me to get my own blog now. 먹튀검증전문

    ReplyDelete
  103. The article composing business is going extraordinary for me at this moment, and the vast majority of my prosperity is because of the substance that you post here. I utilize your substance to compose my articles, and the substance makes my great article incredible. 온라인포커

    ReplyDelete
  104. It's fantastic. This is one of the most well-known websites, with a variety of useful information. Keep up the good job; your writing is fantastic, and I really appreciate this page.

    digital marketing training in hyderabad
    digital marketing course in ameerpet
    digital marketing course training in hyderabad ameerpet
    digital marketing online training in hyderabad

    ReplyDelete
  105. Wow, this is a very useful space for me. I learned a lot of things.메이저토토사이트

    ReplyDelete
  106. Looking at this article, I miss the time when I didn't wear a mask. 먹튀검증업체 Hopefully this corona will end soon. My blog is a blog that mainly posts pictures of daily life before Corona and landscapes at that time. If you want to remember that time again, please visit us.

    ReplyDelete
  107. Thank you a bunch for sharing this with all of us you actually realize what you are talking about! Bookmarked. Please also seek advice from my site =). We could have a hyperlink change contract between us 토토사이트

    ReplyDelete
  108. Great post! I am actually getting ready to across this information, is very helpful my friend. Also great blog here with all of the valuable information you have. Keep up the good work you are doing here. 온라인포커

    ReplyDelete
  109. We are looking for a lot of data on this item. In the meantime, this is the perfect article I was looking for . Please post a lot about items related to 메이저놀이터추천 !!! I am waiting for your article. And when you are having difficulty writing articles, I think you can get a lot of help by visiting my .

    ReplyDelete
  110. I am the one who writes on a topic similar to yours. I hope you come to my blog and take a look at the posts I've been writing. 안전놀이터추천

    ReplyDelete
  111. Fantastic article I ought to say and thanks to the info. Instruction is absolutely a sticky topic. But remains one of the top issues of the time. I love your article and look forward to more.
    Data Science Course in Bangalore

    ReplyDelete
  112. Hello! Nice to meet you, I say . The name of the community I run is 먹튀검증사이트, and the community I run contains articles similar to your blog. If you have time, I would be very grateful if you visit my site .

    ReplyDelete
  113. I am glad to discover this page. I have to thank you for the time I spent on this especially great reading !! I really liked each part and also bookmarked you for new information on your site.
    Data Science Course Syllabus

    ReplyDelete
  114. Impressive. Your story always brings hope and new energy. Keep up the good work.
    business analytics course

    ReplyDelete
  115. Exceptional post however , I was wanting to know if you could write a litte more on this topic? I’d be very thankful if you could elaborate a little bit further. Thanks 사설토토사이트

    ReplyDelete
  116. When did it start? The day I started surfing the Internet to read articles related to . I've been fond of seeing various sites related to 먹튀검증 around the world for over 10 years. Among them, I saw your site writing articles related to and I am very satisfied.

    ReplyDelete
  117. Hello to all, how is everything, I think every one is
    getting more from this site, and your views are good for new visitors.부산달리기

    ReplyDelete
  118. Hi there, I simply hopped over in your website by way of StumbleUpon. Now not one thing I’d typically learn, but I favored your emotions none the less. Thank you for making something worth reading. 먹튀검증업체

    ReplyDelete
  119. This was a really great contest and hopefully I can attend the next one. It was alot of fun and I really enjoyed myself.. marketing1on1.com/professional-seo-services-company

    ReplyDelete
  120. Elisha is what's written on his beginning certificate but he never truly liked that title. Taking treatment of animals has been my occupation for some time but I strategy on changing it. Years in the past he moved to Arkansas. My friends say it's not good for me but what I adore doing is to go to karaoke but I don't have the time recently. Check out her website here: 대구오피


    ReplyDelete
  121. I am very impressed with your writingsex I couldn't think of this, but it's amazing! I wrote several posts similar to this one, but please come and see!

    ReplyDelete
  122. Hello ! I am the one who writes posts on these topicssex I would like to write an article based on your article. When can I ask for a review?

    ReplyDelete
  123. What a nice post! I'm so happy to read this. 토토사이트추천 What you wrote was very helpful to me. Thank you. Actually, I run a site similar to you. If you have time, could you visit my site? Please leave your comments after reading what I wrote. If you do so, I will actively reflect your opinion. I think it will be a great help to run my site. Have a good day.

    ReplyDelete
  124. When I read an article on this topic, the first thought was profound and difficult, and I wondered if others could understand.. My site has a discussion board for articles and photos similar to this topic. Could you please visit me when you have time to discuss this topic? 먹튀검증커뮤니티

    ReplyDelete
  125. Of course, your article is good enough, Tài xỉu but I thought it would be much better to see professional photos and videos together. There are articles and photos on these topics on my homepage, so please visit and share your opinions.

    ReplyDelete
  126. Very wonderful informative article. I appreciated looking at your article. Very wonderful reveal. I would like to twit this on my followers. Many thanks! .
    Data Analytics training in Bangalore

    ReplyDelete
  127. I'm amazed, I have to admit. Rarely do I encounter a blog that?s equally educative and amusing, and without
    a doubt, you've hit the nail on the head. The issue is something not enough men and
    women are speaking intelligently about. I'm very happy I came across this in my
    hunt for something concerning this. 강남오피
    Very good article! We will be linking to this great
    content on our site. Keep up the good writing.


    ReplyDelete
  128. First of all, thank you for letting me see this information. I think this article can give me a lot of inspiration. I would appreciate Kèo bóng đá if you could post more good contents in the future.

    ReplyDelete
  129. Hi ! I specialize in writing on these topics. My blog also has these types of articles and forums. Please visit once. 메이저놀이터

    ReplyDelete
  130. Will really appreciate the writer's choice for choosing this excellent article appropriate to my matter.Here is deep description about the article matter which helped me more휴게텔

    ReplyDelete
  131. I conceive this internet site has got some really good information for everyone :D. “Nothing great was ever achieved without enthusiasm.” by Ralph Waldo Emerson. 스포츠토토사이트

    ReplyDelete
  132. I need to thank you for this very good read and i have bookmarked to check out new things from your post. Thank you very much for sharing such a useful article and will definitely saved and revisit your site...

    DevOps Training in Hyderabad

    ReplyDelete
  133. We stumbled over here by a different website and thought I might check things out. I like what I see so now i am following you. Look forward to finding out about your web page again. 안전놀이터모음

    ReplyDelete
  134. When did you start writing articles related to ? To write a post by reinterpreting the 메이저안전놀이터 I used to know is amazing. I want to talk more closely about , can you give me a message?

    ReplyDelete
  135. Recently, I have started to read a lot of unique articles on different sites, and I am enjoying that a lot. Although, I must tell you that I still like the articles here a lot. They are also unique in their own way. 안전놀이터추천

    ReplyDelete
  136. I finally found great post here.I will get back here. I just added your blog to my bookmark sites...

    DevOps Training in Hyderabad

    ReplyDelete
  137. You made such an interesting piece to read, giving every subject enlightenment for us to gain knowledge. Thanks for sharing the such information with us to read this. 메이저놀이터

    ReplyDelete
  138. Terrific post thoroughly enjoyed reading the blog and more over found to be the tremendous one. In fact, educating the participants with it's amazing content. Hope you share the similar content consecutively.

    data science course in varanasi

    ReplyDelete
  139. I'm glad I found this web site, I couldn't find any knowledge on this matter prior to.Also operate a site and if you are ever interested in doing some visitor writing for me if possible feel free to let me know, im always look for people to check out my web site 사설토토사이트

    ReplyDelete
  140. I've been troubled for several days with this topic. Kèonhàcái, But by chance looking at your post solved my problem! I will leave my blog, so when would you like to visit it?

    ReplyDelete
  141. Thanks for an interesting blog. What else may I get that sort of info written in such a perfect approach? I have an undertaking that I am just now operating on, and I have been on the lookout for such info 메이저안전놀이터 It's amazing. I want to learn your writing skills. In fact, I also have a website. If you are okay, please visit once and leave your opinion. Thank you.

    ReplyDelete
  142. That's a great article! The neatly organized content is good to see. Can I quote a blog and write it on my blog? My blog has a variety of communities including these articles. Would you like to visit me later? 메이저안전놀이터

    ReplyDelete
  143. It's really great. Thank you for providing a quality article. There is something you might be interested in. Do you know 메이저토토 ?

    ReplyDelete
  144. I am constantly surprised by the amount of information accessible on this subject. What you presented was well researched and well written to get your stand on this over to all your readers. Thanks a lot my dear. 토토사이트

    ReplyDelete
  145. I think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article :D 안전놀이터순위

    ReplyDelete
  146. Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work. 메이저놀이터추천

    ReplyDelete
  147. Looking at this article, I miss the time when I didn't wear a mask. Hopefully this corona will end soon. My blog is a blog that mainly posts pictures of daily life before Corona and landscapes at that time. If you want to remember that time again, please visit us. 먹튀신고

    ReplyDelete

Copyright notice

© André N. Klingsheim and www.dotnetnoob.com, 2009-2018. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to André N. Klingsheim and www.dotnetnoob.com with appropriate and specific direction to the original content.

Read other popular posts