Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is nelsonpires.com?
nelsonpires.com is the personal website of Nelson Pires, a developer who writes about software development and general technology topics. It is a blog-style site for readers who prefer hands-on, experience-based write-ups over product marketing: posts cover topics such as hiding email addresses and phone numbers from spam bots, adopting a mobile-first design approach, URL rewriting on IIS, and building a custom CMS (aspBlast). There are also opinion pieces, such as why the author doesn't use WordPress or Facebook.
Who it suits
- Developers looking for practical tips and experiments, especially around web development and Microsoft/IIS tooling.
- Readers interested in one person's opinions and project notes rather than news or tutorials from a large editorial team.
What to expect
The content is personal and occasional, with posts dated from around 2015 to 2020 in the visible index. Some entries are project announcements (a server-headers checking tool, domains offered for sale) rather than in-depth guides, so it works best as browsing material for like-minded developers.
A useful next step: if you're dealing with spam-harvested contact details or planning a mobile-first redesign, start with those two posts, since they address common, concrete problems.
How can I protect my email address and phone number from spam bots on my website?
Use layered obfuscation rather than plain text: keep contact details out of the raw HTML where possible, and make a human complete an action before the address or number is revealed. No single trick stops every harvester, so combine methods and treat any exposed detail as eventually discoverable.
Practical options, from simplest to strongest
| Approach | How it works | Best for | Trade-off |
|---|---|---|---|
| Character entities or CSS-generated text | Encode characters or render the address via CSS content |
Low-effort static sites | Defeated by scrapers that render pages or decode entities |
| JavaScript-assembled address | Store parts separately and join them on click or on load | Small sites without a backend | Breaks for visitors without JavaScript; determined bots can execute scripts |
| Contact form | Visitors submit a message; the address is never shown | Most business and portfolio sites | Needs spam filtering (honeypot, rate limits, CAPTCHA) and backend handling |
| Image-based contact info | Display the address as an image | Rare legacy cases | Poor accessibility, no copy-paste, OCR can read it |
| "Click to reveal" with a mailto link | Show a button; build the link only after interaction | Sites that want direct email contact | Requires a small script; some users still prefer a form |
A contact form is usually the best default for a public website: it hides both the email address and phone number, keeps a record of enquiries, and lets you add a honeypot field and rate limiting. Reserve a visible email address for places where direct contact matters, and then use click-to-reveal.
For phone numbers, the same logic applies. If you must show one, render it as text assembled by script or behind a reveal button, and avoid putting it in a tel: link in the initial HTML.
A concrete setup
- Put the primary contact route behind a form with a honeypot field and a simple rate limit.
- For a secondary email, split it into parts (
name,domain) in JavaScript and build themailto:link only after a click. - Check the rendered page source, not just the visual page, to confirm the address and number do not appear in plain text.
- Keep a monitored role address (for example,
contact@) rather than a personal one, so you can rotate it if it starts receiving spam.
Nelson Pires describes the same recurring problem on his website: contact details shown on a site are harvested by spam bots, so they should stay invisible to bots while remaining visible to visitors. His article on the topic is a useful starting point for the reveal-on-demand pattern.
As a next step, decide based on your audience: if most enquiries are sales or support requests, a form with spam filtering is the cleanest choice; if you are a freelancer who wants direct email, use click-to-reveal and accept that a small amount of spam may still get through.
Should I use WordPress or a custom-built CMS like aspBlast for my site?
The honest answer is that this is not really a WordPress-versus-aspBlast decision. aspBlast is described on Nelson Pires' site as a CMS written entirely by its author, with the author stating it is still some distance from being a marketable product. WordPress, by contrast, is a widely used platform with a large plugin and hosting ecosystem. For almost any real project, the practical choice is between WordPress and a custom build in general — not between WordPress and this specific unfinished tool.
What the site itself argues
The author's post "Why I don't use WordPress" frames his position around WordPress's origins as a blogging platform and his preference for building his own systems. That is a developer's personal stance, not an evaluation of fit for your site. His "Adopting a mobile first design approach" post shows the same pattern: he writes from his own shift in thinking about layout and content, not from comparative testing. Treat these as one developer's observations and reasoning, not as benchmarks.
A practical way to decide
| Situation | Sensible direction |
|---|---|
| You need to publish soon, with themes, plugins, forms, SEO tools and plentiful hosting | WordPress |
| You have unusual data models, strict performance or security constraints, or in-house developers | Custom build |
| You want a personal experiment or learning project | Custom build, accepting the maintenance burden |
| You are a non-technical owner with no developer on call | WordPress, or a managed platform |
The trade-off is straightforward. WordPress gives you speed to launch and a deep labour market for help, at the cost of plugin sprawl, update chores and a larger attack surface to manage. A custom CMS gives you exactly the features you specify and no bloat, but you own every bug, security patch and feature request yourself — and if the builder moves on, you inherit a system nobody else knows.
Next step
Write down three things before choosing: who will maintain the site in twelve months, which integrations are non-negotiable, and how often content changes. If maintenance falls to someone outside your team, pick the platform with the widest pool of available help. If you are evaluating custom options seriously, look at established self-hosted alternatives with active communities before committing to a one-person system — the author's own posts on protecting contact details from spam bots and on server-header checking show the kind of housekeeping any site owner ends up doing regardless of platform.
What is Verisso and how can it help me debug server headers?
Verisso is a small online tool by Nelson Pires for checking HTTP request and response headers. You point it at a URL, and it shows the headers exchanged with the server. It is a diagnostic utility, not a development framework or monitoring service.
Practical uses
- Redirect chains: see whether a URL returns a 301 or 302 and where it points, which matters when moving a site or changing canonical URLs.
- Caching behaviour: confirm
Cache-Control,ExpiresandETagvalues so you know whether browsers and CDNs will cache an asset as intended. - Security headers: check for
Strict-Transport-Security,Content-Security-Policy,X-Frame-Optionsand similar headers after configuring them on the server. - Compression and content type: verify
Content-EncodingandContent-Typewhen a browser renders or downloads a file unexpectedly. - API troubleshooting: inspect the headers returned by an endpoint when a client rejects a response for reasons the body does not explain.
Who benefits
Web developers and site administrators get the most value, especially when they cannot easily reproduce a request from a browser's developer tools—for example, checking a production URL from outside the local network. A quick header check is often faster than opening full dev tools, though browser tools remain better when you need to inspect request bodies, timing or cookies in detail.
Trade-offs to keep in mind
A header check shows only what the server sends for that one request. Results can differ by user agent, geography, CDN edge node or authentication state, so treat a single result as a snapshot rather than a guarantee. Headers alone also will not explain rendering or JavaScript errors.
Next step: if you are debugging a redirect or caching problem, compare headers for the same URL with and without a trailing slash, and with http versus https, to see where behaviour diverges. For broader context on the author's other tools and notes, see Nelson Pires.
How do I get Ionic's ISAPI Rewrite Filter working on IIS8 or later?
Nelson Pires documents getting Ionic's ISAPI Rewrite Filter (IIRF) working on IIS8 and later, after moving from IIS7. The key point in his account is that the last official IIRF release does not work on IIS8+, while the version he had been running, IIRF-2.1.2.3-x64, is the one he carried over to IIS8. If you are hitting the same wall, start by confirming that you are running that 64-bit build rather than an older official download, and that IIS is configured to load it as an ISAPI filter on the site or server where you need rewriting. For the wider context of the move and what he ran into, see Nelson Pires.
A practical way to test it
- Install the 64-bit IIRF build and register it as an ISAPI filter in IIS Manager.
- Allow ISAPI filters and CGI restrictions for that DLL if IIS blocks it.
- Put a minimal rule in your IIRF configuration, such as a single redirect, and request the URL from a browser.
- Check the IIRF log file to see whether the rule matched; if the log is empty, the filter is not loading, so revisit steps 1 and 2 before touching the rules.
When this approach fits
IIRF is a reasonable fit if you maintain an existing IIS site with rewrite rules already written for it and want to avoid a migration. If you are starting fresh on IIS8 or later, the built-in URL Rewrite module is the more conventional choice, and its rule syntax differs from IIRF's, so rules are not drop-in compatible. Weigh the cost of rewriting your rule set against the effort of keeping an older filter running on a newer server.
How does a mobile-first design approach change the way I build a website?
A mobile-first approach reverses your starting point: you design and build for the smallest screen and weakest connection first, then add complexity for larger screens. The practical effect is that content priority, layout and performance decisions get made under the tightest constraints, where cutting things is unavoidable.
On Nelson Pires' site, the author describes adopting this approach after years as a "desktop first" advocate and calls it "a complete shift in the way I think about layout and content" — an observation from his own practice, not a claim that one method suits every project.
What changes in practice
- Content order becomes the design. With one narrow column, you must decide what a visitor sees first, second and third. That hierarchy usually survives intact when the viewport widens.
- Navigation is reduced to essentials. Menus collapse into a toggle or a short list of primary links; secondary links move into the footer or deeper pages.
- Layout is built upward. Base styles target small screens; wider layouts are added with media queries that introduce columns, sidebars and larger type.
- Performance is treated as a design constraint. Small screens are often on slower connections, so heavy images, fonts and scripts are questioned early rather than trimmed later.
- Touch is the default input. Tap targets and spacing are sized for fingers, and hover-only interactions need a tap-friendly alternative.
- Forms get simpler. Fewer fields per step, larger inputs and sensible keyboard types reduce friction on phones.
The trade-off is real: desktop layouts can end up feeling sparse if you never revisit them, and complex data views — dashboards, comparison tables, admin panels — are often better designed desktop-first and then adapted. A reasonable rule is to start mobile-first for public, content-led sites and to choose deliberately for dense, task-heavy tools.
A useful next step
Sketch your most important page at 360px wide before opening a design tool. If you cannot state the single action you want a visitor to take on that screen, the desktop version will not fix it.
User reviews (0)