You can use the optimistic concurrency control, which includes adding another column to the table (timestamp or equivalent or just a simple int) and using it when performing updates. Here you can use it (in case plain int is a "version tag"):
update BlogPost set PublishedOn = :publishedOn, VersionTag = VersionTag + 1
where ID = :id and VersionTag = :versionTag
And provided that the timestamp is automatically updated by your DBMS, this is done with timestamps:
update BlogPost set PublishedOn = :publishedOn
where ID = :id and Timestamp = :timestamp