Easy method to build the most simple login box for your sites' control panels using the HTTP hardcoded 401 AUTH-entication. Of course it sounds easy but there are always challenges.
Regardless of the small degree of diffculty, this method pays off big times as it'll be a plugin to use on and on for any control panel you build. It's also ultra-cross-browser.
The websites and resources that shocked and resurrected my latent Javascript skills. It's a quite good collection after about two weeks of study but the results of studying these sites were amazing.
I can see clearly now the rain is gone used to say a song. I'd say the fog is gone for me and the Javascript picture is getting sharper by the day.
Last but not least, don't flame me, teach me Javascript!
14.05.2008 I updated this class adding a new post function metaWeblog compatible provided by Maximus Marius from seo 4you. I added a few tweaks to it, tested it and it works. You can now enjoy tags support. I also added another fix mentioned by netizen.

I just finished coding a implementation for 95% of the XMLRPC functions in Wordpress. It can successfully post, delete, edit, manage categories and so on! It's Wordpress on remote control.
Someone asked me how to use the infamous eHttpClient to count the Google search results and this is my reply and a little kiss script.
PS: I added GZip compression to eHttpClient and I'll post it these days. Cheers!
I use innerHTML and outterHTML a lot but I just came to realize they don't work in Mozilla (I hate FireFox). As my Javascript skills are a bit rusty I had to find some alternatives and found a bunch of JS code lines to replicate the behaviour I needed.
Everybody talks cloaking! It's time for me to somehow cover this subject. It's a chaotic, long post but you might get a few points on search engine cloaking from it.

Not much to write here except to point you to the original post about the text zones extraction, a post that was quite popular back in the days.
It's time to back it up with code … 5ubliminal style:)
Update: Nogenius warned me about a bug which I just crushed. GETs didn't work after POSTs. The fix is commented in the code. Search nogenius. Thanks!
I expanded the previous sample of Basic cUrl and PHP Usage and converted it to a class for easy further updates. I also added the headers processing which can be useful to handle cookies. It is now easier to use but basic PHP knowledge is required.
Let's say I have a string where I know a certain substring repeats 5 times. I want to replace occurance (0,2,3) with another string but leave occurence 1,4 alone. Or just replace the first 3 occurences and let the rest live. Of course this needs to be case sensitive/insensitive.
While I'm at it I want to replace from the end and replace occurence -1 too which is last. Can you feel my pain?
The script provided has been written and tested on PHP5 and works. It should be PHP4 friendly. If you got problems… holler.
Update: When I pasted this script I had some problems with the slashes that got lost on the way. I did not notice it and most who use it fixed them but I changed the script now to a functional version.
This function should not be abused but it does have some legitimate uses. Google.com would not consider them legitimate but there are …
So use this to get the Google search engine results (SERPs) in your PHP script easily but at your own risk. And use common sense and do not hammer servers!
Bug Fix: Fixed a small bug that did not remove shuffles properly. Now it works and they're gone.

New Free SEO Software Tool for the taking. Microsoft AD Intelligence friendly. Claim your copy NOW!

No such un-exhaustible commons! But if you drink alone it lasts longer. Share it and you won't know what hit you when it ends.

I just bumped into a thread on WickedFire where ELI from BluetHatSEO.com claims to have setup a .htaccess redirect to the WhiteHouse.gov against a DDos attack.
I bet those who know what I'm talking about are already laughing but for those who are not … please keep reading …!
The tools PHP provides for send emails are simply hilarious and when it all comes down to more advanced stuff you gotta make your own functions.
I went one step further and provided this pretty SMTP class for use in PHP to deliver emails. It supports a lot of cool features including SMTP AUTH for servers that require login, attachments, to, cc, bcc types to destinators and MIME encoding for HTML messages.
Learn to use it and, as my explanations surely suck, test it and ask your questions.
I shall reply promptly!
This is a resurected post that has passed unnoticed when I posted it first due to low readership. Now there's more who can benefit from it.
X-Robots-Tag new HTTP Header that Google now understands and obeys has some further implications that pass unnoticed at first glance. At first sight it will allow indexing rules for non HTML files and so on but … was this a mini-hit on the link exchange industry? Learn to harness its power!

Trying to fight worm spreads, Microsoft imposed a limit in tcpip.sys to a maximum of 10 half-open connections during one second. Even if this will not affect the average user it will be the difference between night and day for the black hat SEO.
Learn how it works, where to get the patch and how to apply it in this post.
Normalizing special characters from languages like: Spanish and French to their ASCII equivalents is not a really easy task in PHP. My goal is to turn all characters that resemble a t (Ţ) to a t and all those that resemble a c (Ç) to a c and all those that resemble an o (Ŏ) to an o and so on … you get the idea.
And the provided code will do just this!
strip_tags php function to strip html tags from text has some small issues which lead me to write my own replacement for it. It might come in handy to many of you good PHP coders out there.
This is an updated version so if you got it already overwrite it with this new one.
Short while back I published a tutorial on how to easily find and extract text blocks within HTML. Time has come to evolve. We need to dig deeper and get the sentences out of the text chunks.
Had greatly improved speed based on (PR) Papa Rage's comment in last performance bottleneck post but had to go further as DNS resolving functions in Windows are as slow as it gets.
See what happened, in terms of speed, after rewriting the DNS resolving functions with a twist.
Large scale link-spam is out. Surgically inserted links to blackhat sites are the future … but will be covered in a future post.

Most of you will learn almost nothing from this post (so reading is optional :)) but you'll see the things I struggle with, on a daily basis ;) And later on I'll have a cool piece of software for you … not this one :)
Another day has passed and another problem was solved. See how I overcame a bottleneck in performance on a violent scraper C++ software.
Given too many choices people will make the wrong ones. So, we should guide them (and their navigation throughout our sites) the right way - our way!
Please help me make some sense of this: (read the post)


First part of the blackhatvolution series where we will discuss on-site and off-site blackhat methods that work and will keep working as most are now obsolete or have extremely diminished income potential.

How can you find out? and Why you need to know it? Importance of knowing a blog's homepage url.

Why would you care? Keep reading…
Pages on your websites have elements that do make a difference and some that don't and could be labeled as extra fat. Ajax can remove all the extra fat from your websites easily and also help you with your on-site SEO efforts.

Cookie your unwilling visitors and get credited for their purchases from your affiliate programs.

The basics of web-scraping plus some practical advice on how to do it right and get what you have been aiming for.
Blackhat Rule #1:
Any shared resources (commons) are eventually destroyed by over-use!
… so how can you find what nobody is showing you!

Welcome and this is the bomb. There has been major buzz lately about old, expired, dead domains and how good they are and I will give you my take on this and some advice plus THE TOOL to spot the domain corpses!
Including the first post of a series on this sensitive subject. And, as always, looking forward to your input.

Simple PHP trick to create pseudo-plugins to alter the HTML your site outputs to a browser and perform some custom actions on it right before it goes out.
Easy to use and I use this constantly for quick'n'easy changes to my sites to avoid recoding.

I have a list of English words containing the following forms:
And you can have it too by downloading it from the site ;)
A New Years' gift from me to you: a quite complete list of US Cities.
Download it here! It's CSV format with first line containig column names. Easy to use. N-Joy!
I've overcome a milestone in readership and I wanted to make a few comments about this. Thanks!
A simple function to variate text based on given patterns that can serve a lot of purposes.

Use the Peekaboo method to flash your black-hat sites to the search engines and get them indexed faster! A method that requires coding finesse and returns rather good results.
I challenged myself to build a better highlight_string function for pretty PHP output and suceeded. It was not easy but I'd say it was all worth it!
Unzipping Zip archives in PHP is a very important task for any web-developer serious about his work. Applications are limitless but it's best used for ploading multiple files zipped and maintaining directory structure.
In this tutorial you will find a PHP function to help you handle all your basic PHP unzipping needs. Not suitable for huge files but perfect for everyday needs.
Google Suggests can give us up to 10 related keywords suggestion which we can easily use ourselves in PHP scripts.
Found the official Whois Format Specs and this solved a lot of problems and questions for me. Things are much clearer now and my domain aging algorythm is 10 times more reliable.
Over a month ago I published a function to extract Domain From URL in C++. I ported it to PHP and this code will extract Domain Name from Host Name or URL and will Contain Domain, TLD and maybe a Country Level TLD (2nd level TLD).
There's a huge difference between the ones who handle websites and see the internet as professionals and those who just see it a s a library or market lace.
Learn to overcome this difference for greater success.
Easy to use PHP code to access Google Trends data automagically from your own PHP scripts for an idea on keyword search volume.

I will teach you how to negotiate and squire any TLD you might need.

What else is there to say when we look at this image?

Like any developer that needs to debug software the major browsers have now provided this option for a visual debugging of pages in terms of CSS, HTML and HTTP requests. Find web-design flaws easily with the tools provided.
To take full advantage of a users screen resolution one needs to know it first. As there is no way to find out in PHP we combine a bit of Javascript and PHP to find out the visitors Screen Resolution Size.
After disecting the break-in at WebLogAwards 2007 now I will show you how they failed to protect themselves and how they can do it better. They only did client-side protection but none server-side.

I heard about the enormous scandal of the Science Blogs Cathegory at 2007 WebLog awards and I decided to take a look at their security and see if the system was vulnerable. And, Oh My God!
I often make live changes to my site and I need to retrieve the complete image of the site locally. I don't have telnet and anyway to zip in cPanel except a complete account snapshot so I had to find a method myself. And I did!
The site is completely redone and 95% finished. Those unfinished 5% are on my admin side and won't bother you, the visitor :)
Conversion between Single-Byte and Multi-Byte (ASCII and UNICODE) Strings is easy but what if it became easier. One class constructor will expose the converted string so you can use it as you need to. Buffer is handled internally so make sure to copy it.
I'll explain you my favourite content generation methods and how to take advantage best of each of them. This is dirty and not meant for the Average Snow White Hat SEO!

Even if the user experience with Internet Explorer is not the highest with its CSS problems mostly, IE is a blessing for coders. If you learn to automate it properly you can go as far as your with and as you patience takes you.
I'm sure you'll find use for this complete list of whois servers. It features all country codes as I parsed it from IANA.org. Enjoy it.
An all-pourpose buffer class so you forget about malloc, realloc, memset, memcpy and all the memory functions that give us headaches.
After posting the extremely Simple Calendar generator function I could have sworn I helped many PHP coders add custom calendars to their sites but the truth was a bit different!
Yahoo! Search API InLinks results seems to have caught the flu and is locked on the first 50 results regardless of parameters you serve. But there is a workaround for this problem!
I needed this to play with some Whois queries and, as I did not find any code online to do it, here it is. Might come in handy to some C++ coders who need to convert URLs or host names to domain names.
This page will point you to the article content scraping scripts I published. Bookmark it as any article educational scraping script will be linked here.
Free articles for the taking should be easy to access and retrieve. I made this script especially to demonstrate you how to use PHP and cUrl in order to get the content you need from ArticleInsert.com.
Mastering Google's Advanced Search Operators is mandatory for any serious SEO practitioner. So, to spot real search engine competition, you need to know how to use them wisely.
I did an experiment and removed the reader count from the page. I got 6 new subscriptions overnight. It's not important if they stay... the increase is dramatic for me:)
Like my subscriber count? 
Don't you want pingback ability in your custom built blog? Here's the script. Integrate and enjoy pingback. It was a tough nut to crack but I nailed it. N-Joy!

Read about a past experience here that marked my entire professional life. See how you can almost waste your entire work with one wrong move! May this be a lesson to all of you handling sensitive data.
Just an easy function to get a functional calendar into your website. The one used to generate the calendar you see here on the right.

A week ago I posted an article about Digg and my opinion on it. It was only meant to express my thoughts and diggsapointment towards this service and how diggusted I got using it. The article was refered to as The Digg Backrub Effect. I will now tell you what happened to my site and what a Digg actually is.
Would you consider a street address written in lower case different then one written in upper case? It appears Google, as specs teach it to, considers URLs where only letter case differs as different. This is correct according to specs but should there not be any common sense involved? What length is Google willing to go to artificially inflate their index.
The fake referer flood started. I had only drops untill now but today I got over 150 in a few hours. Wtf is wrong with them MSN sickos? Heard others get 1000s / day so I'm lucky.
I finally did it. No game or software managed to go over 10% in CPU usage on my gaming beast. So I wrote the software that managed to do it!


This entire weekend I worked to port all my PHP functions, like getting keywords from my WordTracker account or parsing search engine results and indexing pages and a lot of black hat tricks I have, to work in C++. It's a great day!

Apparently Yahoo has taken the keyword selector tool down. No query works anymore and no error appears. Data is just not found! I assume this is permanent.
Do you need to fake your user agent and verify / visit other sites? Is it important for you to see how sites are seen by Googlebot and so on? Do you need to pretend you are a different browser? Learn to easily change your HTTP User-Agent!
This function should not be abused but it does have some legitimate uses. MSN (Live Search) would not consider them legitimate but there are …
Still I incline to consider the rules with MSN are more permisive as they are offering search results through RSS feeds.
So use this to get the Live Search (former MSN Search) search engine results (SERPs) in your PHP script easily but at your own risk. And use common sense and do not hammer servers!
One duplicate content glitch easy to fix in .htaccess. Google does not slash the trailing slash on URLs resulting in duplicate content hazard.
Learn to use the daterange advanced search operator to see which pages Google considers more important on your site and see what's fresh in the index. By restricting searches to time spans you can converge on certain moments and see only what's the buzz.
If you pay attention long enough you can spot your strong pages and your weak pages also.
MSN bot knows no rules, has no mother and no father (by its behviour I can assume that reason for the lack of parents) and goes its own way all the way!
301, 302, Robots.txt, GZip Compression are not a part of its vocabulary but I hope he will learn them soon!
Learn what Keyword Stemming is all about, how it affects the search engines and how it can help you. Also find functional open source stemming implementations in different languages.
How do Google, Slurp or MSNBot actually work? Understand what's going on behind the scenes. This is just a basic explanation for you to get an idea about the amount of work behind your online searches.

I got censored and wiped off PHP.net where I placed links to my open-source scripts. I added them to the right places looking forward to some exposure to coders. And I had it for about 3 days …
The competition no longer plays fair and is willing to hit you with anything that comes in handy. Latest unorthodox methods are the proxy hijackings. How are they achieved and how to defend from them? Learn here.
What is forward and reverse DNS lookup? How can it be done?
After the article explaining the method I coded this easy to use PHP script that does the trick for you and also caches the results for further use. This way your site will not be slowed down at all.
Why you should consider output buffering for your PHP sites.

I added gzip compression to the site and log shows pages about 3-5 times smaller. Pages load faster and I save bandwidth eaten by the crazy web robots daily stampede!
As usual I'll provide you the easy code snippet to use it on your own sites! It rocks.
A simple and somehow functional method of finding the open mysql connections in PHP. PHP does not provide and express way to do it but I found a way that might work ... might! It requires a clean coder to function.
Decode the search phrases (queries) that deliver visitors to your site from popular search engines. Use the PHP function provided to learn what they are searching in real-time and guide them better on your website.
Easy method create several instances of one table with differened names or database to use in each of your projects. Very easy 2 PHP code lines trick.
My first impressions on the very popular WordTracker keyword suggestion tools.
PHP has gzencode but lacks the gzdecode version. So here it is!
Use this easy PHP function to parse HTML for hyperlinks and list them along with their attributes.
Good method to check on link exchange partners or count links or external links on a page.
Free open-source simple Ip2Country PHP class that allows you to translate any valid ip address to a country code and act in your visitors best interest.
Easy to integrate in your site, plug-in and play functionality.
Many webdesigners and web programmers fail to understand their webpages can be split into several easily maintainable entities. So they end up building each page as a standalone. Guess what: further maintenance and updates will be a nightmare!
Any website/page consists of repetitive section such as page header, page footer and navigation menu which can be broken into separate files and once updated they will change all across the site.

Ever wondered if the googlebot user agent that is just crawling your site is really googlebot? Search engines implemented an easy way to verify them using a round DNS query on both host and IP address.
Saving bandwidth and protecting sensitive information is piece of cake.
Often you need to check if an email is valid and if you can send to it prior to accpeting it as valid. This is the solution you need.

I was working on this site and had to deal with a small problem of using a lot of global variables on some internal functions. I found a cheap trick to handle this.
The PHP code mentioned in the Tutorial will import all global variables into your PHP script function and allow you to use any of them without the need to declare them one by one.
Websites have several PHP files that are included and have no usage by themselves. They work as plugins for the entire site and only fit in the big picture.
GoArticles.com is a huge databse with nonsense articles published only for SEO porpouses. Worst of all, the site is havily cloaked and I will provide an educational script to uncloak it!

Images as buttons in HTML forms are cool but not really easy to implement them as you can't use value attribute on them. So you can't use mutliple images and easy see which of them was clicked.
Check out the PHP function that comes along and makes it all so easy! Image buttons will be for your website and coding skills as simple to use as good looking.
Even if cUrl is really easy to use if you enjoy to KISS (Keep It Simple Stupid), forums are still swarming with people that need some help. I'll teach you here the basics in combining PHP and cUrl to get 99% of all you'll ever need done with them done.
I'll provide 2 easy functions + 1 helper to make cUrl and PHP a little easier for you.
Never have I used in my PHP programming career the internal PHP sessions for user tracking. Instead I wrote my own script that has served me faithfully over years and it's time to help you too, should you be interested in reinventing a better wheel.
This PHP user / visitor session tracking script works with mySql access. It creates and manages 2 tables of hiw own which will contain all internal locally stored details related to an unique ID cookied in the client browser.
Why would someone need access directly to cPanel?
It's easy: You can do many things like, manage multiple hosting accounts in one, keep track of your addon or parked domains, retrieveing raw log files and using them with your own analyzer scripts.This class is not for the unexperienced PHP programmer and you need intermediate skills to advanced to make use of it to its fullest.
The real reason I wrote this script is to retrieve my raw access logs and analyze them but posibilities are endless. You can use it to access any page in cPanel and even do posts. You can create a centralized domain management console for all your cPanel php hosting accounts put into one.