Introduction
This post should work with Google alongside DuckDuckGo and most other search engines, but is subject to change. So, you’re likely here for 2 things: Either you’ve been sent here by someone after you’ve told them you’re having trouble with something that could easily be googled or You’ve been scrolling through my blog looking for something to read (thank you, it means a lot)
If you’re here to learn how to research something, then let me help you.
Hacking search engines is something most people will hear and think “Oh, hacking is a bad thing”, when in this case, we’re talking about “hacking” in the original sense as someone who tinkers and researches stuff on their own to better their knowledge on a tech-related subject whether that be mechanical or electronic technology.
You might’ve also heard terms like Dorking, where you’re using lesser-known features of the platform to narrow your results down to a fine level, often removing certain results and phrases, or making certain phrases a requirement.
Search engines, how do they work?
Well, search engines aren’t really that magical underneath the hood, they’re just dictionaries of keywords rather than phrases. If your site has a load of keywords, it’ll get a lot more hits than a site with very specific but long key-phrases. Let’s say you were in town for the first time and looking for a pizzeria, would you ask someone for a good pizzeria nearby, or would you ask them for a specific type of pizza as if you were ordering over the phone? See, nobody really wants to hear you natter on about “Where can I find the best 13.257 inch spinach, mascarpone, garlic fried chicken and mackerel deep-dish pizza within a 9.45-mile radius?”
When you’re making a website, you usually include keywords into the page’s headers; this might include a description, the site’s author and individual words like “google”, “search engines”, “how-to”, “tutorial”, etc. All of which help the search engine’s algorithm to give an idea of what your website is about and suggest it to users. – This term is known as “SEO” or Search Engine Optimisation within technical communities and developers.
What not to do
While often times you might find yourself pasting results into a search engine as if it were just a dictionary of errors and problems (which sometimes it can be, but it’s best to get out of that bad habit), you’re better off narrowing down results to specific keywords.
See the image below for an example of what not to do when searching for an answer. “Why is it bad!” I hear you asking yourself? Well, while you might still get a working answer out of it, you’re often going to be needing much more specific results. Searching the full error might cause the search engine to look for keywords that aren’t relevant to your issue or sometimes, in the case of larger error messages, cut out the important information and leave in useless parts.
You also really don’t want to be only clicking the first result given when you search, as variety can and will usually give you a much better idea on what’s wrong rather than just a straight-up answer, making it harder for you to understand what the problem was for future reference. Google, in all its glory, also likes to sponsor the top 5 posts since they’re paying money to be there. While this is great for their revenue, it’s a bit of a pain in the ass for us as we need to filter out what’s paid content and what’s useful. – That’s not to say some sponsored content isn’t good, it’s to say that it isn’t always the best source of knowledge.
What you should be doing
When searching for something, you almost always never need more than 10 words, and often times way less. Let’s say you wanted to find the “Best Chinese takeaway food near me”, what would you search? Think about it for a minute. Would it be “Hello, can you find the best Chinese takeaway food near my location please?”
OF COURSE NOT!
You’d be better off searching for something along the lines of “Chinese takeaway near me” and reading through a few of the top result’s reviews and finding the one that fits your fancy the best. The keywords you’re looking for are:
Keyword | Meaning |
---|---|
Chinese | You want to have Chinese food, not Pizza, not Paella. |
Takeaway | You don’t want to sit in a restaurant to eat, you want to order it over the phone, and it be delivered or walk into the restaurant and pick it up to take home. |
Near me | While this isn’t technically a “keyword” and more of a “key-phrase”, it’s important for the search engine to know, especially if you have geolocation enabled on your device. This tells the search engine that you want it near you, not somewhere in Zimbabwe or on the southern border of Mongolia. |
You can also often swap out “Near me” or similar phrases with your location (i.e. your town, city or block. Even your postcode might work!) All of this is because search engines, put simply, work based on matching words with other similar words.
The same theories apply when searching for technical problems; like error messages or documentation. You want to strip down any error messages to the bare minimum you can get out of them, while still providing any important information.
Dorking
Google dorking
, or well, dorking
works on any well-made search engine.
In essence, you’re just using the features provided by the site, such as excluding certain keywords or requiring certain words or phrases.
It can be a bit of a bitch to get used to, if we’re being honest, however it’s really something everyone who uses the internet on a regular basis should know how to do.
Let’s say you’re getting a load of results for “Baby Oil” when you’re looking for the best motor oil for your car. You’re searching best oil for XYZ car
but all of your searches are giving you results along the lines of “Johnson & Johnson oil for babies”; you don’t want that, no matter how much of a baby your car is to you. What can you do about it?
Well, that’s where dorking
comes into play. You can use the hyphen (-
) character to remove certain words from your query. So when you’re searching for oil, you can type best oil for XYZ car -baby
to remove any references to baby oil.
But wait! You want to use synthetic oil, but you’re only getting results for natural oils, you can use quotation marks to require certain words to be used, like this: best oil for XYZ car "synthetic" -baby
.
You can also use operators like “site:xyzsite.com” to search for a result on a specific site (i.e. Reddit) like this: CCNA vs Network+ site:reddit.com
to retrieve results exclusively from Reddit.
Summary
While I haven’t covered all areas of Google dorking with examples, as there are sooo many different terms you can use, I will attach a table below with all the operators you can use!
Operator | What it does | Short usage sample |
---|---|---|
" “ | Locate pages that include specific terms or phrases | “Chinese” takeaway |
OR | Find the closest result with either A or B | Chicken OR Beef |
| | Same as OR | Bread OR Cheese |
- | Locate pages that exclude specific terms or phrases | Cheese -milk |
* | Matches a sequence of characters in a query | Beef * Jerky |
( ) | Consolidates several queries into one | (Asbestos | Fibreglass) Insulation |
define: | Query the meaning of an expression | define:cake |
cache: | Retrieve the latest cached version of a page/site | cache:monkey.com |
filetype: | Locate specific file types and formats | Tess of the d’Urbervilles filetype:pdf |
ext: | Pretty much the same as filetype | Moonfleet ext:pdf |
site: | Obtain results from a specific website | site:reddit.com |
related: | Find webpages that are part of a specific domain | related:amazon.com |
intitle: | Find pages with specific terms or phrases in the title | intitle:Lenovo |
allintitle: | Search for webpages that include several terms in their URL | allintitle:beef brisket |
intext: | Find content that contains a specific term | intext:Tabasco sriracha |
allintext: | Look for content that contains a combination of terms. | allintext:Monster energy |
weather: | Obtain the weather results for a location | weather:Bournemouth |
stocks: | Obtain the trading details for a specific stock | stocks:msci |
map: | Obtain a map for a specified location | map:John o’groats |
movie: | Obtain the details of a film | movie:deadpool |
in | Convert one measurement into another | 32.5oz in stone |
before: | Filter results to show only those before a specified date | Nosferatu before:2010-07-14 |
after: | Filter results to show only those after a specified date | Intel i9 14900K after:2024-02-11 |
What to remember
Nobody is perfect, and we all want to ask questions. Sometimes those questions can be searched on the internet with a single click, so there’s no harm in searching for something if you don’t know. There will always be people happy to help out on the internet, it’s not all bad. Feel free to talk to people, chat over IRC, Discord or whatever your preference is; they’re usually going to want to help if you’re in the right community. If they don’t and are toxic about it, leave them be and move on somewhere else. If you’re looking to learn a new subject, like Linux or software engineering, there’s almost always a user group in your area, so try and use what I’ve just shown you to find one!
Try not to take offence if someone says “google it” or “have you looked it up” to your question, they just want to make sure you’ve put the effort into looking something up yourself before they teach you something; it’s all to help you out, since they might not want to take 30 minutes out of their day to teach you something basic you could’ve just Googled. If you’ve looked something up and are still stuck, ask. Provide details on what you’re struggling with, how you’ve come to that conclusion, what you’ve tried to come to a resolution, etc. If you put time into something, others will usually want to help out more than if you were just asking to save a few minutes googling.