The complete guide to website & developer tools

Ten developer tools explained with verified examples: robots.txt, redirects, regex, cron, IP subnetting, downtime cost, and why your title gets cut off in Google.

Hosting & Dev · Complete Guide

By ANUPRESS Team · Last reviewed August 2026 · 19 min read

This developer tools guide covers the ten technical jobs that come up constantly running a website: blocking crawlers correctly, redirecting a URL without breaking it, writing a cron schedule you can actually read back, testing a regex before it eats production data, subnetting an IP range, pricing out downtime, sizing your bandwidth, and getting your title tag to stop truncating in Google. Each section has the exact syntax, a verified worked example, and the free tool that does it instantly.

Website and developer tools guide illustration covering robots.txt, redirects, cron and subnetting
Ten tools, one page: everything that touches your site’s plumbing

Robots.txt, done correctly

Robots.txt is the first of these developer tools most people meet: a file that sits at your domain root and tells well-behaved crawlers which paths they’re allowed to request. It is a request, not a lock, badly behaved bots ignore it entirely, so it’s for managing crawl budget and keeping search engines out of admin areas, never for hiding anything sensitive.

The WordPress default that actually makes sense
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/sitemap.xml

That Allow line inside a Disallow block looks like a contradiction and isn’t. Rules are matched by specificity, not by order, so the more specific Allow for admin-ajax.php wins over the broader Disallow for the rest of /wp-admin/. Crawlers need that endpoint for some front-end AJAX requests to work, blocking it can quietly break functionality that has nothing to do with your admin dashboard.

Rules people get backwards

  • Disallowing a page doesn’t remove it from Google’s index if something else already links to it; use a noindex meta tag for that, robots.txt only stops crawling, not indexing
  • Blocking /wp-content/ entirely also blocks your theme’s CSS and JS, which can make Google render your pages as broken
  • A missing robots.txt (404) is treated as “no restrictions” by every major crawler, an empty file and no file behave identically

Build yours with per-crawler rules

Add Allow/Disallow rules per user-agent, drop in your sitemap URL, and download a file that’s ready to upload, with the WordPress-safe default built in as a one-click preset.

Open the robots.txt generator

301 vs 302 redirects, and why the difference matters

Both send a visitor to a new URL. As MDN’s HTTP status reference documents, the number itself tells search engines whether to transfer the old page’s ranking signals to the new one or to keep treating the old URL as the “real” one.

Apache (.htaccess) vs Nginx syntax
# Apache (.htaccess) -- permanent redirect
Redirect 301 /old-page/ /new-page/

# Nginx -- permanent redirect
rewrite ^/old-page/$ /new-page/ permanent;

# Apache -- temporary redirect
Redirect 302 /old-page/ /new-page/

# Nginx -- temporary redirect
rewrite ^/old-page/$ /new-page/ redirect;
Use 301 whenUse 302 when
The old URL is gone for goodYou’re A/B testing or the change is temporary
You’ve permanently moved domains or restructured URLsA page is down for maintenance
You want ranking signals transferred to the new URLYou need the old URL to stay indexed and authoritative

Using 302 for a genuinely permanent move is the classic mistake: search engines keep crediting the old, dead URL instead of transferring that credit forward, so a site that “moved” a year ago can still be losing ranking value to a page that no longer really exists.

One line worth taking seriously before you touch a live .htaccess: a syntax error there can 500 your entire site instantly, since Apache reads it on every single request. Nginx is safer by default, a bad config simply fails to reload rather than taking the site down, but test either one before you trust it.

Build a redirect list for either server

Add as many rules as you need, pick 301 or 302 per rule, and get one-click HTTPS-forcing and www-normalizing rules on top, generated for Apache or Nginx.

Open the redirect generator

Open Graph and Twitter Card tags

These are the meta tags that control how a link looks when it’s shared on Facebook, LinkedIn, Slack, or X: the title, description, and preview image, separate entirely from what shows up in Google search. The core set is five lines, and you don’t need a plugin to add them, on WordPress a small function hooked into wp_head handles it per post automatically.

The full code, both approaches, plus how to verify it worked

The complete functions.php snippet, the static-HTML version, the mistakes that actually break previews, and the official Facebook and LinkedIn tools to check your work.

Read: Open Graph tags without a plugin Or use the generator

Regex, without the guesswork

A regular expression describes a pattern to match inside text, and a small vocabulary covers the vast majority of real-world use.

The patterns you’ll actually reuse
\d          any digit               \d{3}      exactly 3 digits
\w          letter, digit or _      \w+        one or more of those
.           any character           ^          start of string
*           0 or more               $          end of string
+           1 or more               [abc]      any one of a, b, c
?           0 or 1 (optional)       (group)    capture this part

Phone:  ^\d{3}-\d{4}$              matches 555-1234
Email:  ^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$   matches test@example.com

The single most common mistake is forgetting ^ and $. Without them, a pattern matches anywhere inside a string rather than requiring the whole string to match, so \d{3}-\d{4} alone would happily match the middle of “call 555-1234 now” but also silently accept “555-1234-extra-junk”, since it never checked what came before or after.

Test it live, with a plain-English breakdown

Paste a pattern and see matches highlighted in real text as you type, with capture groups, a replace preview, and each part of the pattern explained in plain English.

Open the regex tester

Cron expressions, explained

A cron expression is five fields, minute, hour, day of month, month, day of week, read left to right. The day-of-week field is where confusion usually starts: 0 and 7 both mean Sunday, and a range like 1-5 is Monday through Friday.

18 verified schedules, one page

Every common cron pattern, from every minute to yearly, with the actual next run time checked against a real parser, plus the special characters explained.

Read: Cron Job Cheat Sheet Or build one

IP subnetting: the developer tools essential nobody explains well

A subnet mask, or its CIDR shorthand like /24, splits an IPv4 address into a network portion and a host portion. Every subnet loses exactly 2 addresses to overhead, so a /24 has 256 total addresses but only 254 usable.

The full CIDR table, /24 through /30

One idea explains the whole table: each bit added to the prefix cuts the subnet size exactly in half. Two worked examples, and why every subnet loses exactly 2 addresses, explained without binary math.

Read: IPv4 Subnetting Explained Or calculate one now

What downtime actually costs

Uptime guarantees get compared as percentages, 99% versus 99.9%, which makes them look almost identical. In real downtime per year, they’re nowhere close.

UptimeDowntime per year
99%3.65 days
99.5%1.83 days
99.9%8.77 hours
99.95%4.38 hours
99.99%52.6 minutes
99.999%5.26 minutes

Each additional nine cuts downtime, and the cost that comes with it, by roughly 90%. That’s the real reason the jump from a 99% host to a 99.9% host matters far more than the price difference between them usually suggests, and why chasing a fifth or sixth nine past 99.99% delivers rapidly diminishing real-world value for most sites, since you’re now arguing over single minutes a year.

A worked example

A site earning €5,000 a month, where 60% of revenue depends on the site being reachable, suffers a 2.5-hour outage. Revenue-per-minute works out to €0.68, and that specific outage costs roughly €103. The same math run annually, at a 99% uptime guarantee, projects to about €3,600 a year in lost revenue from downtime alone, before counting reputation or SEO effects.

Price a single outage, or a host’s guarantee

Enter your revenue and how much depends on uptime, and get either a single incident’s real cost or the projected annual cost behind any uptime percentage, nines table included.

Open the downtime cost calculator

Sizing your bandwidth

Bandwidth needed per month is roughly average page weight times monthly visits times average pages per visit, then adjusted down for whatever a CDN successfully caches instead of serving from origin.

Site typeTypical hosting tier
Small blog, under 10K visits/moShared hosting is genuinely fine
Growing site, 10K–100K visits/moA CDN matters more than the hosting tier itself
High-traffic or media-heavy siteVPS or dedicated, with a CDN doing the bulk of the serving

A properly configured CDN routinely serves 80–95% of requests from cache, meaning your origin server’s real bandwidth bill is a small fraction of raw traffic times page weight. Sites migrate hosting tiers too early because they estimate bandwidth from total visits without accounting for that caching offset, and too late because they never estimated it at all until an outage forced the question.

Estimate what you actually need

Enter your traffic and average page weight, factor in CDN caching, and see which hosting tier realistically fits, before you pay for headroom you don’t need.

Open the bandwidth calculator

Why your title gets cut off in Google

Google truncates search snippets by pixel width, not character count, roughly 600px for titles and 920px for descriptions on desktop, which is why “keep it under 160 characters” is only ever a rough guess.

Check your exact pixel width, and what Google might rewrite anyway

Why character count lies to you, the real desktop and mobile budgets, and the honest limit on what fixing truncation can actually promise.

Read: Is Your Meta Description Getting Cut Off? Or check yours now

Reading time and readability

Rounding out this set of developer tools, estimated reading time is just word count divided by a reading speed, typically around 200–250 words per minute for average adult silent reading, though the honest range across real readers is wide enough that any single number is a rough midpoint, not a precise prediction.

The Flesch Reading Ease score is a more useful companion number, built from average sentence length and average syllables per word: 206.835 − 1.015 × (words ÷ sentences) − 84.6 × (syllables ÷ words). Scores above 60 read as accessible to most adults; below 30 reads as genuinely dense, closer to academic or legal writing. Long sentences hurt the score far more than long words do, which is usually the opposite of what people assume when they’re trying to “simplify” a piece of writing by swapping in shorter vocabulary alone.

Word count, reading time and a real Flesch score

Paste your text and get reading time at your chosen speed, sentence and paragraph counts, and a live Flesch reading-ease score.

Open the reading time calculator

Frequently asked questions

Does robots.txt stop a page from appearing in Google?

Not by itself. Disallowing a URL stops crawling, but if another page already links to it, Google can still index the URL from that link alone, often showing it with no description since it was never crawled. Use a noindex meta tag on the page itself to actually keep it out of search results.

Should I use 301 or 302 for a redirect I’m not sure is permanent yet?

Start with 302. It’s easy to upgrade to a 301 once you’re certain, while a 301 used too early can transfer ranking signals to a URL you later decide to abandon, which is harder to undo cleanly.

Why does my regex match too much or too little?

Almost always a missing anchor or a greedy quantifier. Forgetting ^ and $ lets a pattern match partway through a longer string; a bare .* grabs as much as possible by default rather than stopping at the first reasonable point.

What does */5 mean in a cron expression?

Every 5 units of that field, starting from 0. In the minutes field, */5 fires at :00, :05, :10, :15, and so on, not simply “5 minutes after cron last ran.”

Why isn’t a /24 subnet exactly 256 usable addresses?

Two addresses in every subnet are reserved and unusable by any device: the network address (identifies the subnet itself) and the broadcast address (sends to every device on it at once). A /24 has 256 total addresses and 254 usable ones for that reason.

Is 99.9% uptime actually good?

For most sites, yes, that’s 8.77 hours of downtime a year, typically spread across small maintenance windows rather than one dramatic outage. Chasing 99.99% or higher matters mainly for services where even a few minutes of downtime has serious financial or safety consequences.

Last reviewed August 2026. See how we review and our affiliate disclosure.

ANUPRESS Team
ANUPRESS Team

ANUPRESS Team writes and builds everything on this site — reviews and 48+ free browser-based tools alike. We test what we review by actually using it, not by summarizing a spec sheet. Spot something wrong or want to know more about a specific piece? Reach us through the contact page.

Articles: 31