Coding

PHP exifTool

Here is a great example of Php array code using Exiftool. This shows how to dump ExifTool Tag Names into an array. I moved this from my old blog if it looks familiar. I have used this on my own site, and it works great!

*==========================================================================
	read exif from exiftool from image into raw array
	two different ways to do it here depending on what you like
============================================================================*/
//exec('exiftool -s ' . '"' . $path_to_image . '"', $exif_raw_array);   
// note the -s flag returns tags with no spaces -n removes data formatting will work with either or none

exec('exiftool -s -n -Orientation -ImageWidth -ImageHeight -Title -ImageDescription -Keywords -Copyright -Artist -Make -Model -LensModel -FocalLength -FocalLengthIn35mmFormat -ShutterSpeedValue -ApertureValue -ISO -DateTimeOriginal -City -State -Country -Location -GPSSpeed -GPSAltitude -GPSLatitude -GPSLongitude ' . '"' . $path_to_image . '"', $exif_raw_array);

/*==========================================================================
	extract tagname and tagname value from raw array
============================================================================*/
// note var_dump(exif_raw_array) to visualize what needs to be done
foreach ($exif_raw_array as $key => $value)  {
	
$string_length_of_value_field = strlen($value); // need string length for calculation below
$position_of_colon = strpos($value, ':'); //get the position of the colon to use in calculation below


$exiftool_tagname = substr($value, 0, $position_of_colon); // shorten the full string starting at position 0 and ending at the colon
$exiftool_tagname = ltrim($exiftool_tagname); // trim any white space on the left that may exist
$exiftool_tagname = rtrim($exiftool_tagname); // trim any white space on the right that may exist
// done - now have $exiftool_tagname extracted by itself


// same technique as above just extracting the other end of the string
$exiftool_tagname_value = substr($value, ($position_of_colon+1), ($string_length_of_value_field-$position_of_colon));
$exiftool_tagname_value = ltrim($exiftool_tagname_value);
$exiftool_tagname_value = rtrim($exiftool_tagname_value);
// done - now have $exiftool_tagname_value extracted by itself


/*==========================================================================
	enter variables into exiftool_final_array with predictable fields
============================================================================*/
$exiftool_final_array[$exiftool_tagname] = $exiftool_tagname_value;


/*==========================================================================
	end of exif_raw_array loop
============================================================================*/
}

/*==========================================================================
	destroy exif_raw_array - no need to keep in memory
============================================================================*/
unset($exif_raw_array);
/*==========================================================================
	done - new clean array is ready to use - try var_dump($exiftool_final_array)
	to see
============================================================================*/

SmugMug Meta Keywords

SmugMug Meta Keywords: A Great Service With SEO Limitations

I've been a photographer for years, and like many of us, I started my online portfolio journey with SmugMug. It's a polished, reliable platform with beautiful gallery templates, solid storage, and a passionate community behind it. If you're looking for a hassle-free way to showcase your work, SmugMug genuinely delivers. But there's one area where I kept running into a wall — SEO, and specifically, meta keywords and per-page search optimization.

SmugMug Is Good. Really.

Let me be clear: I'm not here to bash SmugMug. The platform does a lot of things right. Upload quality is excellent, the interface is clean, and your photos are protected behind a reputable CDN. Customer support is responsive, and the pricing is reasonable for what you get. For photographers who want to focus entirely on shooting rather than web development, SmugMug is a smart choice.

But the moment I started thinking about search engine visibility — really digging into how each gallery page, each photo collection, each category was being indexed — I realized SmugMug wasn't built with granular SEO control in mind.

The Meta Keywords Problem

Here's the issue I kept bumping into: SmugMug gives you limited ability to customize meta tags on a per-page basis. Meta keywords, meta descriptions, and page-level title tags are either pulled automatically from your gallery names and captions or handled globally across your site. If you're running a photography business and want a specific gallery — say, "Autumn Engagement Session in Riverside" — to rank for targeted long-tail keywords, you'll quickly discover the platform doesn't give you the surgical control you need.

I found myself fighting the system. I'd optimize my captions, stuff keywords into gallery descriptions, and cross my fingers. Sometimes it worked. Often it didn't. The underlying architecture just wasn't designed for the kind of per-page SEO customization that modern search visibility demands.

If You Want Real Control, Build Your Own

This frustration is exactly what pushed me to build my own photography website from scratch. Yes, it took more time. Yes, there was a learning curve. But the payoff has been worth every hour.

When you own your own site, you control everything — the title tag on every single page, unique meta descriptions, structured data markup, canonical URLs, image alt text strategies, and yes, meta keywords for whatever they're still worth. I can create a landing page for every niche I shoot in and optimize it independently without fighting platform restrictions.

My organic search traffic climbed noticeably within a few months of switching. More importantly, I stopped feeling like a tenant working around a landlord's rules.

The Bottom Line

SmugMug is a genuinely good service, and for many photographers, it's the right answer. But if SEO is a priority for your photography business — if you want each page to work hard for you in search results — you'll eventually hit its ceiling. Building my own site gave me the freedom that SmugMug couldn't offer. For me, that made all the difference.

I still use SmugMug

What I built was a web system where I control SEO, but I then direct the user to SmugMug. In addition, I publish to this blog with links to my SmugMug. Problem solved. I still love SmugMug. They are a great site that does exactly what it was built to do.

Leonard Knight Salvation Mountain

I met Leonard Knight several times a few years before his death in 2014. He allowed me to shoot a few portraits of him. He struck me as a generous and caring individual. All he wanted to do was show me his mountain and let me know that Jesus loved me. If you have never been to Salvation Mountain, then I encourage you to visit. It is amazing what this man built. I don’t know what kind of condition it is in today. Hopefully someone is keeping it in good shape.

Tag Name Data
Title Leonard Knight Salvation Mountain
Keywords Leonard Knight, niland, salton sea, salvation mountain, slab city
Copyright ©ExpertPhoto.com All Rights Reserved
Artist ExpertPhoto.com
Make Canon
Camera Model Name Canon EOS 5D Mark II
Lens Model EF50mm f/1.4 USM
Focal Length 50.00mm
Shutter Speed Value 1/1600 second
Aperture Value 4.00
ISO 100
Date/Time Original Wednesday December 30, 2009 02:08pm
City Calipatria
State California
Country United States
Location Salvation Mountain
GPS Altitude 2 meters (6.6 feet) above sea level
GPS Latitude 33.25422
GPS Longitude -115.47336
Map Google Map Link